Ayhan ARDA

Ubuntu 14.04 üzerine Hadoop 2.6.0 Kurulumu

Bu yazımızda tek bir node üzerine Hadoop kurulumu yapacağız.

Gereksinimler;

1 – Oracle Java 8 Kuralım.

ayhanarda@ubuntu:~$ sudo apt-get install software-properties-common
ayhanarda@ubuntu:~$ sudo add-apt-repository ppa:webupd8team/java
ayhanarda@ubuntu:~$ sudo apt-get update
ayhanarda@ubuntu:~$ sudo apt-get install oracle-java8-installer

Apache Hadoop bir java framework ü , dolayısı ile çalışabilmesi için java kurulu bir sunucu olmalı. Yukarıdaki işlem java yı /usr/lib/jvm/java-8-oracle path ine kuracaktır. Kurulumu test etmek için aşağıdaki komutu girebilirsiniz.

ayhanarda@ubuntu:~$ java -version

2 – HDFS ve MapReduce Erişimi İçin Bir Grup ve Kullanıcı Oluşturalım.

ayhanarda@ubuntu:~$ sudo addgroup hadoop
ayhanarda@ubuntu:~$ sudo adduser --ingroup hadoop hduser

3 – SSH Kuralım ve Konfigüre Edelim.

Hadoop diğer düğümlere ulaşmak ve yönetmek için ssh kullanacak.

ayhanarda@ubuntu:~$ sudo apt-get install openssh-server
ayhanarda@ubuntu:~$ /etc/init.d/ssh start
#Öncelikle hduser ile login olalim.
ayhanarda@ubuntu:~$ sudo su hduser
 
#Key olusturuyoruz , key adi soracak , bos geçebilirsiniz.
hduser@ubuntu:~$ ssh-keygen -t rsa -P ""
 
#Key i authorized_keys dosyamiza yaziyoruz.
hduser@ubuntu:~$ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

Key i test etmek için ssh localhost yazabilirsiniz , şifre sormuyor ise tamam demektir.

4 – IPV6 yı kapatalım.

Hadoop henüz ipv6 ile çalışmamakta dolayısı ile kapatmamız gerekiyor. Bu işlem için /etc/sysctl.conf dosyamızı açalım ve dosyanın sonuna aşağıdakileri ekleyip kaydedelim , sonrasında reboot gerekmekte.

hduser@ubuntu:~$ sudo nano /etc/sysctl.conf
# disable ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Kurulum;

1 – Apache Hadoop indirelim.

#hadoop kuracağımız dizinin üstüne gidelim.
ayhanarda@ubuntu:~$ cd /usr/local
 
#hadoop u indirelim.
ayhanarda@ubuntu:/usr/local$ sudo wget https://www.apache.org/dist/hadoop/core/hadoop-2.6.0/hadoop-2.6.0.tar.gz
 
#hadoop u açalım.
ayhanarda@ubuntu:/usr/local$ sudo tar -xzvf hadoop-2.6.0.tar.gz
 
#hadoop u taşıyalım.
ayhanarda@ubuntu:/usr/local$ sudo mv hadoop-2.6.0 /usr/local/hadoop
 
#hadoop klasörü sahiplik ayarlarını yapalım.
ayhanarda@ubuntu:/usr/local$ sudo chown hduser:hadoop -R /usr/local/hadoop
 
#Namenode ve Datanode için hadoop temp dizini açalım.
ayhanarda@ubuntu:/usr/local$ sudo mkdir -p /usr/local/hadoop_tmp/hdfs/namenode
ayhanarda@ubuntu:/usr/local$ sudo mkdir -p /usr/local/hadoop_tmp/hdfs/datanode
 
#Hadoop temp dizininin sahiplik ayarlarını yapalım.
ayhanarda@ubuntu:/usr/local$ sudo chown hduser:hadoop -R /usr/local/hadoop_tmp/

2 – Hadoop Konfigürasyon Dosyalarını Güncelleyelim.

#Kullanıcı profilini güncellemek için aşağıdaki dosyayı açalım. 
hduser@ubuntu:~$ sudo nano $HOME/.bashrc
 
#Aşağıdakileri .bashrc dosyasının en altına yazıp kaydedelim. (Burada Java_Home ve Hadoop_Home pathlerinizi kontrol etmenizi öneririm)
# -- HADOOP-bigdatatr.com-- #
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
# -- HADOOP-bigdatatr.com-- #

hadoop-env.sh Dosyası İçin;

export JAVA_HOME= ile başlayan satırı aşağıdaki şekilde düzenleyin.
export JAVA_HOME=/usr/lib/jvm/java-8-oracle

Core-site.xml Dosyası İçin;

#Dosyada göreceğiniz <configuration> tagları arasına aşağıdakilerini girin.
 
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>

hdfs-site.xml Dosyası İçin;

#Dosyada göreceğiniz <configuration> tagları arasına aşağıdakilerini girin.
 
<property>
      <name>dfs.replication</name>
      <value>1</value>
 </property>
 <property>
      <name>dfs.namenode.name.dir</name>
      <value>file:/usr/local/hadoop_tmp/hdfs/namenode</value>
 </property>
 <property>
      <name>dfs.datanode.data.dir</name>
      <value>file:/usr/local/hadoop_tmp/hdfs/datanode</value>
 </property>

yarn-site.xml Dosyası İçin;

#Dosyada göreceğiniz <configuration> tagları arasına aşağıdakilerini girin.
 
<property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
</property>
<property>
      <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
      <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>

mapred-site.xml Dosyası İçin;

Bu dosyanın adı default olarak mapred-site.xml.template olarak gelir , bunu mapred-site.xml olarak değiştirmeliyiz.

hduser@ubuntu:~$ cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml

Şimdi editleyebiliriz.

#Dosyada göreceğiniz <configuration> tagları arasına aşağıdakilerini girin.
 
<property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
</property>

3 – NameNode u Formatlayalım.

#hadoop dizinine gidelim.
hduser@ubuntu:~$ cd /usr/local/hadoop
 
#hadoop u formatlayalım
hduser@ubuntu:/usr/local/hadoop$ bin/hdfs namenode -format

3 – Hadoop Daemonlarını Başlatalım.

#sbin dizinine gidelim.
hduser@ubuntu:~$ cd /usr/local/hadoop/sbin
 
#hdfs i başlatalım.
hduser@ubuntu:/usr/local/hadoop$ ./start-dfs.sh
 
#MapReduce i başlatalım.
hduser@ubuntu:/usr/local/hadoop$ ./start-yarn.sh

4 – Hadoop Daemonlarını Test Edelim.

hduser@ubuntu:/usr/local/hadoop/sbin$ jps
2082 ResourceManager
1941 SecondaryNameNode
2184 NodeManager
1785 DataNode
2475 Jps
1661 NameNode

Şimdi Resource Manager ve NameNode a Browserdan erişebilirsiniz.

ResourceManager için- Http://localhost:8088 ya da http://ipadresi:8088

Name Node için- Http://localhost:50070 ya da http://ipadresi:50070

Gelecek makalede görüşmek üzere..

Ayhan ARDA

Tavsiye;

Hadoop in Practice

Hadoop The Definite Guide

 

Exit mobile version