Multi Node Hadoop Cluster Kurulumu -Hadoop Yazı 1 – Ortam ve Requirement’lar

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

MongoDB Kurulumu ve Ilk Konfigurasyonlar (Mongo Shell ,User Oluşturma)

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.