bu yazımda sizlere "hadoop multi node cluster" kurulumundan bahsedeceğim. Aslında kurulum açısından single node'dan bir farkı yok. Sadece kurulumdan sonra ağ(network) kısmında ve konfigürasyon dosyalarında bir kaç değişiklik yaparak dağıtık yapının birbiriyle nasıl konuşacağını belirtmemiz gerekiyor.
Buradaki yapacağımız işlem esasen bir cihazı master diğer bir cihazı ise slave olarak konfigüre etmektir. Yazıyı hazırlarken ben çalışmamı ubuntu üzerinde yapacağım. Eğer hadoop dünyasında yeniyseniz bu yazıdaki aynı ortamlarda çalışmanızı yapmanız sizin için de faydalı olacaktır.
ilk olarak içinde ubuntu işletim sistemi olan iki makineye(master,slave)ihtiyacımız olacağı için bu hazırlığı yapın.
NOT: Ben çalışmamı yaparken VMware üzerinde sanal bir ubuntu işletim sistemi kuracağım. Daha sonra kullanıcı, grup, sshkey oluşturarak hadoop kurulumunu bu makineye yapacağım. Son olarak ta bu makinenin kopyasını oluşturacağım(slave için). Bu şekilde tekrardan ikinci makinede aynı işlemleri yapmamıza ihtiyaç olmayacaktır.
Ortam ve makinemiz hazırsa hemen işlemlere başlayalım...
- Hazırladığınız ubuntu makine de hadoop adında bir group birde kullanıcı oluşturun.
Bu konuda yardıma ihtiyacınız varsa buradaki yazımı inceleyebilirsiniz. Aslında bu işlem zorunlu değil ancak anlatımı ve yetkileri bu kullanıcı ve gruba göre yapacağım için sizlere de bu adımı uygulamanızı öneririm.
- Java ve hadoop kurulumunu yapın
Java ve hadoop kurulumu konusunda buradaki yazım size yol gösterebilir.
- Hadoop konfigürasyonunu aşağıdaki adımları takip ederek yapın
core-site.xml dosyasını açın
|
<name>fs.default.name</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/var/hadoop/hadop-${user.name}</value> </property> </configuration> |
$ sudo vi /usr/local/hadoop/conf/mapred-site.xml
|
<name>mapreduce.job.tracker</name> <value>master:5431</value> </property> </configuration> |
<name>dfs.replication</name> <value>1</value> </property> </configuration> |
|
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre/ export HADOOP_HOME=/usr/local/hadoop export HADOOP_CONF_DIR=/usr/local/hadoop/conf |
$ sudo mkdir /var/hadoop $ sudo chown -R hadoop.hadoop /var/hadoop $ sudo chown -R hadoop.hadoop /usr/local/hadoop/ |
$ ssh-keygen -t rsa -P "" $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $ chmod 600 ~/.ssh/authorized_keys |
üstteki işlemlerden sonra ubuntu makinenin kopyasını(slave için) alın
- Makine isimlerini güncelleme
Bu aşamada mevcut makineyi "master", kopyaladığınızı da "slave1" olarak isimlerini değiştireceğiz
master makine de isim değişikliği
|
|
master makinenin IP ayarları (192.168.2.100)
|
address 192.168.2.100 netmask 255.255.255.0 gateway 192.168.2.1 dns-nameservers 8.8.4.4 8.8.8.8 |
auto ens33 iface ens33 inet static address 192.168.2.101 netmask 255.255.255.0 gateway 192.168.2.1 dns-nameservers 8.8.4.4 8.8.8.8 |
#192.168.2.102 slave2 |
master makinede hadoop master ve slave dosyalarını güncelleyin.
|
|
slave1
#slave2
#slave3
|
- Son olarak hadoop'u master makinede ayağa kaldırın
her iki makineyi reboot edin ve master makinede hadop'u ayağa kaldırın
$ /usr/local/hadoop/bin/hadoop namenode -format
$ /usr/local/hadoop/bin/start-all.sh |
http://192.168.2.100:50070/dfsnodelist.jsp?whatNodes=LIVE adresini ziyaret ederek te aktif node ları listeleyebilirsiniz.
start-all dosyası mevcut configrusyan yapmadığımız için hata veriyor o kısmıda ekleyebilirmisiniz
YanıtlaSil