Herkese merhaba ,

Bu yazımızda puttygen programını kullanarak ssh key generate edeceğiz .

putty1

Generate ‘e tıklıyoruz ve sonrasında program penceresi içerisinde mouse’ı rastgele hareket ettiriyoruz .

putty2

Bir süre sonra üstteki bar doluyor ve key yaratılmış oluyor . Oluşturulan key’leri save public key ve save private key diyerek kaydediyoruz .

putty3

Bu yazı ile birlikte çok node’lu bir hadoop cluster’ı kuracağız . İlk yazıda ortam ve requirement’ları konuşacağız .

Ortam olarak virtualbox üzerinde 3 tane sanal makina kurdum ve önerilenin altında kaynaklar ayarladım .

OS : Ubuntu Server 16.04

Memory : 768 MB

Disk : 40 GB

CPU : 1 Core / Makina

** Ubuntu’yu kurarken hadoop user’ını yaratmanız , sizi bir sürü işten kurtaracaktır.

3 üç makinadan 1’i master node , diğer ikiside slave node’larımız olacak .

hadoopmaster – 192.168.0.105

hadoopslave01 – 192.168.0.106

hadoopslave02 – 192.168.0.107

Şimdi de her 3 makinaya da jre , jdk ve ssh kuracağız.

$ sudo apt-get update

$ sudo apt-get install default-jre

$ sudo apt-get install default-jdk

$ sudo apt-get install openssh-server

 

Hadoop adında bir user yaratıyoruz , şifresini de hadoop olarak ayarlıyoruz . (3 Makinada da)

# useradd -m hadoop

# passwd hadoop

/etc/hosts dosyasına makinaları ekliyoruz.

nano /etc/hosts

192.168.0.105 hadoopmaster

192.168.0.106 hadoopslave01

192.168.0.107 hadoopslave02

Makinaların birbirleriyle şifresiz haberleşmesi için ssh key ‘leri kopyalayacağız .Lütfen tek tek ve sırasıyla her üçünde de çalıştırın .

# su hadoop

$ ssh-keygen -t rsa
$ ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@hadoopmaster
$ ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@hadoopslave01
$ ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@hadoopslave02
$ chmod 0600 ~/.ssh/authorized_keys

Son olarak 2 slave makinamızda aşağıdaki dizini oluşturup , sahibini değiştiriyoruz.

# mkdir /opt/hadoop

# cd /opt/

# chown -R hadoop:hadoop hadoop

Bu yazıda , Ubuntu Server 16.04 kurulu olan sanal makinamıza MongoDB kuracağız .

 

MongoDB repository’ini eklemek için key’imizi import  ediyor , listeye ekliyoruz .

sudo apt-key adv –keyserver hkp://keyserver.ubuntu.com:80 –recv EA312927

echo “deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse” | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

Repository ‘imizi update ediyoruz .

 sudo apt-get update

 

Şimdi mongoDB’i kuruyoruz .

sudo apt-get install -y mongodb-org

Şimdi de mongod için bir systemd servisi yaratacağız . Önce dizine gidiyoruz , sonrasında servis dosyası oluşturacağız .(Eğer otomatik oluşturulmuşsa kontrol etmemiz yeterlidir.)

cd /lib/systemd/system/

nano mongod.service

mongod.service dosyasının içine aşağıdaki blogu yapıştırıyoruz.

[Unit]
Description=NoSQL database
After=network.target
Documentation=https://docs.mongodb.org/manual

[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod –quiet –config /etc/mongod.conf

[Install]
WantedBy=multi-user.target

Reload ediyoruz .

systemctl daemon-reload

Şimdi de mongoDB servisini başlatıyoruz , boot da otomatik açılması için enable ediyoruz . (Servisi ekliyoruz)

systemctl start mongod
systemctl enable mongod

Açılıp açılmadığını kontrol ediyoruz . 27017  portunu kullanıyor .

 ps -ef |grep mongo

 netstat -plntu

 Kurulumu tamamladık ve şimdi ilk konfigurasyonları yapacağız , mongo shell ‘ e bağlanıp user oluşturacak ve user auth’u açacağız.

Mongo shell’e bağlanıyoruz .

mongo  

Use komutuyla db’ler arasında geçiş yapıyoruz . Admin DB’sine geçtik.

use admin

Root yetkili(db admin) bir kullanıcı yaratıyoruz.(admin isimli database ‘de )

db.createUser({user:”admin1″, pwd:”yoneticiyimben”, roles:[{role:”root”, db:”admin”}]})

exit diyip çıkıyoruz.

Servis dosyasına –auth parametresini ekleyip , systemd daemon’ını reload ve mongodb ‘i restart edeceğiz .

nano /lib/systemd/system/mongod.service

Aşağıdaki satıra –auth’ı ekliyoruz.

ExecStart=/usr/bin/mongod –quiet –auth –config /etc/mongod.conf

systemctl daemon-reload

service mongod restart

Şimdi de yarattığımız user’la mongo shell’e bağlanıyoruz .

-u username -p password –authenticationDatabase authenticatedOlacağımızDB’ninAdı

 mongo -u admin1 -p yoneticiyimben –authenticationDatabase admin

show dbs diyerek database’lere ve boyutlarına bakabiliriz.

“shutdown -h now” , bu komut bilgisayarınızın , sunucunuzun hemen kapanmasını sağlar .
-h –> halt anlamındadır . now parametresi ise bu işlemin ne zaman gerçekleşeceğini belirtir .

“shutdown -r now”  bu komut bilgisayarınızın , sunucunuzun hemen yeniden başlatılmasını sağlar. -r –> reboot anlamındadır .

“shutdown -r 02:30”  bu komut bilgisayarınızın , sunucunuzun saat 02:30 da reboot edilmesini sağlar

Screen Shot 2014-11-26 at 23.34.50

“shutdown -h +48”  bu komut bilgisayarınızın , sunucunuzun 48 dakika sonra kapanmasını sağlar

“shutdown -c” komutu da verilen emrin iptal edilmesini sağlar .

Merhabalar ,

Bu yazıda size RPM den bahsedeceğim .

RPM yapısı genel olarak 3 parçadan oluşur : rpm komutu , paket dosyaları , RPM veritabanıdır .  Kısaca bahsedecek olursak paket dosyaları içlerinde kurulacak dosyayı , kurulacak uygulama ya da servis hakkında (dependencies gibi) bilgileri barındırırlar . RPM veritabanı /var/lib/rpm da bulunmaktadır , paketler kurulmadan önce bu veritabanına işlenirler , aynı şekilde kaldırılmak istendiklerinde de bu veritabanından kontrol edilirler . 

– RPM komutları :

–Paket Kurmak

Bir paketi kurmak için “rpm -i paket_dosyasının_adı” komutunu kullanırız .Fakat bu komutun yerine genellikle “rpm -ivh paket_dosyasının_adı” komutu kullanılır , bunun sebebi v parametresini durum bilgilerini vermesi ve h parametresinin ilerlemeyi gösteriyor olmasıdır .

Screen Shot 2014-11-29 at 00.50.40

Bunun dışında rpm komutu ile kullanırken direk ftp linki vererek direk kurulumda yapabilirsiniz.

Screen Shot 2014-11-29 at 00.54.14

–Paket Kaldırmak
Bir paketi kurmak için “rpm -e paket_adı” komutunu kullanırız . Rpm paket sistemi kurulumdan sonra değişen konfigürasyon dosyalarını .rpmsave uzantılı olarak kaydeder.
Screen Shot 2014-12-02 at 22.08.36
–Paketi Güncellemek
Paket güncelleme işlemi “rpm -U paket_adı” komutu ile yapılır . Çoğunlukla “rpm -Uvh paket_adı” komutu kurulum işlemi sırasında “rpm -i paket_dosyasının_adı” komutu yerine kullanılır . Çünkü bu komutu paketin sistemde olup olmadığını kontrol eder , yoksa paketi kurar , varsa da günceller . “-v , -h”eklerinin ne işe yaradığını de ilk kısımda anlatmıştık .

Screen Shot 2014-12-02 at 22.24.06

–Paketlerle İlgili Bilgi Edinmek
“rpm -qa” komutu sistemde kurulu bütün rpm paketlerinin ismilerini ve versiyonlarını , sürüm numaralarını görmemizi sağlar .
Screen Shot 2014-12-02 at 22.29.42
“rpm -q paket_adı” komutu paketin versiyonunu, sürüm numarasını görmemizi sağlar .

Screen Shot 2014-12-02 at 22.31.27

“rpm -qi paket_adı” komutu paket tanımını ve paketle ilgili ayrıntıları görmemizi sağlar .

Screen Shot 2014-12-02 at 22.32.40

“rpm -qf dosya_adı” komutu dosyanın hangi pakete ait olduğunu görmemizi sağlar .

Screen Shot 2014-12-02 at 22.36.04

“rpm -ql paket_adı” komutu paketin hangi dosyaları içerdiğini görmemizi sağlar .

Screen Shot 2014-12-02 at 22.39.02

Yum güncelleme , yükleme gibi işlemleri gerçekleştiren bir programdır . Yum programımın temel konfigurasyon dosyası “/etc/yum.conf” dır. Rpm depolarınızı bu dosyaya ekleyebilirsiniz .

Screen Shot 2014-12-05 at 21.53.33

Yum’un en büyük faydası dependency sorununu çözmesidir , yüklemek istediğiniz paket başka paketlere bağımlı ise , paketleri bulur ve kurar .
— YUM Komutları
“yum update” sistemi güncellemek için kullanılır .
Screen Shot 2014-12-05 at 21.57.47
“yum update paket_ismi” paketi güncellemek için kullanılır .

Screen Shot 2014-12-05 at 21.59.35

“yum install paket_ismi” paketi kurmak için kullanılır .

Screen Shot 2014-12-05 at 22.05.00

“yum list available” kurulabilir ve kurulmuş olan paketleri listelemek için kullanılır .
“yum list at*” paket ismi at kelimesi ile başlayan paketleri listelemek için kullanılır .

Screen Shot 2014-12-05 at 22.10.01

“yum list at*” paket isminde at kelimesi bulunan paketleri listelemek için kullanılır .

Screen Shot 2014-12-05 at 22.11.04

“yum check-update” yeni güncelleri görüntülemek için kullanılır .

Screen Shot 2014-12-05 at 22.14.44

“yum search at” paket isminde veya paket açıklamasında at kelimesi içeren paketleri aramak için kullanılır .

Screen Shot 2014-12-05 at 22.17.13

Linux ortamında kullanıcıların , işletim sistemiyle etkileşim sağlayabileceği  2 ana ortam vardır , bunlardan ilki GUI öbürüyse terminal (komut satırı)dir. Bize bu komutu satırını kabuk(shell) sağlar .

En çok kullanılan shell , hepimizin bildiği gibi Bash’dir.  Bash’in dışında korn shell(ksh) , bourne shell(bsh) , c shell(csh) gibi kabuklarda mevcuttur.

Sistemizdeki kullanabileceğimiz bütün kabuklar , /etc/shells dosyasında tanımlı bulunmaktadır .

Screen Shot 2014-12-21 at 22.43.45

Kabuk (Shell) Komutları :
Kullandığımız kabuğu görüntülemek için echo $SHELL komutunu kullanırız .

Screen Shot 2014-12-21 at 22.52.46

Kullandığımız kabuğu değiştirmek için chsh komutunu kullanırız . Yeni kabuğun aktif olması için , kullanıcı logout olup , yeniden login olmalıdır .

Screen Shot 2014-12-21 at 22.56.18

KOMUT GEÇMİŞİ
 
Sisteme gönderilen bütün komutlar home dizininde .bash_history dosyasında saklanır . Bu geçmişe erişmenin birçok yolu vardır . Bunlardan birisi Control – r , ctrl -r  geriye doğru geçmişte arama yapmaktadır . Komutun içerisinde bulunan birkaç harfi yazdığımızda komutu bulmaktadır
Screen Shot 2015-01-29 at 11.48.40
Bir diğeri ise aşağı ve yukarı yön tuşlarına basmaktır . Bu tuşlara bastığımızda şimdiden geçmişe doğru sırasıyla komutlar arasında geçiş yapacaktır .
Bir diğeri de “history” komutudur.

Screen Shot 2015-01-29 at 11.51.32

History ile birlikte grep komutunu kullanarak , arama gerçekleştirebiliriz , örneğin : “history | grep vpn” :


Screen Shot 2015-01-29 at 11.54.03-2