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;
Bir yanıt yazın