23 Ekim 2017 Pazartesi

OS X üzerine manuel hadoop kurulumu(brew kullanmadan)

Merhaba,
bu yazımda sizlere tekrardan hadoop kurulumunu anlatacağım ancak burada home brew kullanmadan hadoop'u zip olarak indirip kendi belirlediğimiz  bir dizine nasıl yükleyeceğimizi  ve bu dizinde gereken konfigürasyonların nasıl yapılacağını anlatacağım.

Javanın yüklü olduğundan emin olmak ve versiyon bilgisini görmek için aşağıdaki komutu terminal den çalıştın. 

 java -version

benim bilgisayarımdaki sonuç aşağıdaki gibidir
#java version "1.8.0_101"
#Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
#Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode) 

Öncelikle remote login'i aktif etmelisiniz. 
sudo systemsetup -setremotelogin on 

aşağıdaki komut ile ssh bağlantısı için public ve private  key oluşturun 
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa_hadoop 

oluşturduğunuz public key'i authorized_keys listesine ekleyin 
cat ~/.ssh/id_dsa_hadoop.pub >> ~/.ssh/authorized_keys 

SSH bağlantısı kurulup kurulamdağını test edin 
ssh localhost 

Javanın kurulu olduğu dizini görmek için aşağıdaki komutu çalıştırın 
/usr/libexec/java_home 

Benim bilgisayarımdaki çıktı aşğıdaki gibidir : 
#/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home 

Aşağıdaki linkten hadoop'u indirin. 
http://www.apache.org/dyn/closer.cgi/hadoop/common/ 

İndirdiğiniz zip dosyasını açın saklamak istediğiniz dizine taşıyın 
mv ~/Downloads/hadoop-2.8.1/ ~/DEVELOPMENT/FRAMEWORKS/hadoop-2.8.1/ 

hadoop-env dosyasını açın 
vi etc/hadoop/hadoop-env.sh 

Java ve hadoop dizinlerinin adresini  JAVA_HOME  ve HADOOP_PREFIX değişkenlerine export etmek için aşağıdaki satırları bu dosyaya ekleyin

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home
export HADOOP_PREFIX=/Users/leventyildiz/DEVELOPMENT/FRAMEWORKS/hadoop-2.8.1 

 bundan sonraki adımlarda konfigürasyon yaparak devam edeceğiz

ilk olarak core-site.xml dosyasını açın 

 vi etc/hadoop/core-site.xml

aşağıdaki satırları <configuration> tagları arasına ekleyin 

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
</property> 

hdfs-site.xml dosyasını açın 
vi etc/hadoop/hdfs-site.xml 

yine <configuration> tagları arasını aşağıdaki şekilde güncelleyin 

<property>
    <name>dfs.replication</name>
    <value>1</value>
</property> 

projede templare olarak bulunan mapred-site.xml.template  dosyasını mapred-site.xml olarak aynı dizine kopyalayın 
cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml 

mapred-site.xml dosyasını açın 
vi etc/hadoop/mapred-site.xml 

<configuration> tagları arasına aşağıdaki içeriği ekleyin 

<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property> 

yarn-site.xml dosyasını açın 
vi etc/hadoop/yarn-site.xml 

alttaki içeirği <configuration> tagları arasına yerleştirin 

<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property> 

hadop dosya sistemini biçimlendirmek için aşağıdaki komutu çalıştırın 
./bin/hdfs namenode -format 

namenode ve datanode agentlarını çalıştırın 
./sbin/start-dfs.sh 

çalıştırma işleminden sonra web arayüzüne erişebilirsiniz(http://localhost:50070/).

hadop file sistem üzerinde user dizinini ve bu dizin altında da kullanıcı adında bir dizin oluşturun 

./bin/hdfs dfs -mkdir /user
./bin/hdfs dfs -mkdir /user/leventyildiz 

Resource Manager ve Node Manager'ı çalıştırın 
 ./sbin/start-yarn.sh 

Bu işlemden sonra kaynak yönetim arayüzüne erişebilirsiniz(http://localhost:8088/).

girdi dosyalarını hadop file sistem'e taşıyın 

./bin/hdfs dfs -put etc/hadoop input 

share dizini altındaki örneklerden birini çalıştırın 

./bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.8.1-test-sources.jar  grep input output 'dfs[a-z.]+' 

çalıştırma işleminden sonra grep komutunu tanımazsa ve exception atarsa grep komutunun tam yolunu paket adıyla birlikte vererek deneyin 
./bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.8.1-test-sources.jar  org.apache.hadoop.examples.Grep  input output 'dfs[a-z.]+' 

üstteki örnek "dfs" ile başlayan dosyaları sayıp sonucunu döner.

HDFS üzerinden sonucu gösterin 
./bin/hdfs dfs -cat output/* 

Veya sonucu HDFS ten local bilgisayarınıza kopyalayın 
./bin/hdfs dfs -get output output 

son durum için  aşağıdaki komutu yine terminalden çalıştırın

cat output/* 

sonuç aşağıdaki gibi olacaktır. 

# 6 dfs.audit.logger
# 4 dfs.class
# 3 dfs.logger
# 3 dfs.server.namenode.
# 2 dfs.audit.log.maxbackupindex
# 2 dfs.period
# 2 dfs.audit.log.maxfilesize
# 1 dfs.log
# 1 dfs.file
# 1 dfs.servers
# 1 dfsadmin
# 1 dfsmetrics.log
# 1 dfs.replication 


kaynak : http://zhongyaonan.com/hadoop-tutorial/setting-up-hadoop-2-6-on-mac-osx-yosemite.html

Hiç yorum yok:

Yorum Gönder