1. Bu site çerezler kullanır. Bu siteyi kullanmaya devam ederek çerez kullanımımızı kabul etmiş olursunuz. Daha Fazla Bilgi.

Hadoop nasıl kurulur? (mac için anlatım)

'Big Data & Data Mining' forumunda Powers tarafından 7 Mart 2018 tarihinde açılan konu

  1. Powers

    Powers Administrator Site Yetkilisi

    Hadoop Yahoo! öncülüğünde geliştirilmiş ardından apache'ye devredilmiş açık kaynak kodlu bir yazılımdır. Şuan için güncel sürüm 3.0.0'dır.

    Bu yazıda Hadoop 3.0.0 kurulumu anlatılacaktır. Bu yazı a modern story'den esinlenilmiştir.

    Kurulum sırasında Internet'ten yaklaşık 1 gb dosya indirdiğimizi göz önünde bulundurmayı unutmayın.

    Öncelikle Hadoop kurabilmek için Mac bilgisayarınızda JDK yüklü olmalıdır. JDK'yı yükledikten sonra Hadoop kurulumuna geçebiliriz. (JDK ~ 400mb)

    Kurulumun tamamı terminal üzerinden gerçekleşecektir. Bunun için terminal penceresini açıyoruz.

    Öncelikle Home Brew kurulumunu gerçekleştirmemiz gerekiyor. Home Brew kurulumu için terminal'e aşağıdaki kodları yazıyoruz. (Home Brew ~ 100mb)

    Kod:
    $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    Ardından Hadoop kurulumunu gerçekleştiriyoruz. Bunun için de terminale aşağıdaki kodları yazmamız gerekiyor. (Hadoop ~ 700mb)

    Kod:
    $ brew install hadoop
    Eğer bilgisayarınızda JDK yüklü değilse bu aşamada hata alırsınız. JDK'yı yükledikten sonra terminali yeniden başlatmayı unutmayın.

    Hadoop /usr/local/Cellar/hadoop dizinine kurulacaktır. Güncel 3.0.0 versiyonu bu klasör altında /usr/local/Cellar/hadoop/3.0.0 olarak yer alacaktır.

    Öncelikle hadoop-env.sh dosyasında bazı değişiklikler yapmamız gerekiyor. Bu dosya /usr/local/Cellar/hadoop/3.0.0/libexec/etc/hadoop/hadoop-env.sh konumunda yer almaktadır.

    Dilerseniz terminalden çıkmadan düzenleme işlemini yapabiliriz. Bunu için terminale sırasıyla

    Kod:
    cd /usr/local/Cellar/hadoop/3.0.0/libexec/etc/hadoop/
    vi hadoop-env.sh
    yazdıktan sonra düzenleme editörü açılacaktır. Dilerseniz ayrı bir editör ile de düzenleme işlemi yapılabilmektedir.

    Pek çok kaynakta aşağıdaki kodu bulun ve başına # (yorum ifadesi) koyarak bu satırı etkisiz hale getirin demektedir. Hadoop 3 ile bu satır zaten pasif olarak geliyor. Eğer hadoop 2.x.x kurulumu gerçekleştiriyorsanız bu adımı yapın değilse atlayın.

    Kod:
    export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true"
    Hemen altına aşağıdaki satırı ekleyin.

    Kod:
    export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true -Djava.security.krb5.realm= -Djava.security.krb5.kdc="
    Daha sonra editörü kapatmak için esc 'ye basıp qw! yazın ve enter'a basın.

    Diğer düzenleyeceğimiz dosyalar şu şekilde

    /usr/local/Cellar/hadoop/3.0.0/libexec/etc/hadoop/core-site.xml konumundaki dosyaya aşağıdaki kodu ekleyin. Bu kodu configration kısmına ekleyin ve 2 kez configration olmadığından emin olun.

    Kod:
    <configuration> 
    <property>
         <name>hadoop.tmp.dir</name>
         <value>/usr/local/Cellar/hadoop/hdfs/tmp</value>
         <description>A base for other temporary directories.</description>
      </property>
      <property>
         <name>fs.default.name</name>                                     
         <value>hdfs://localhost:9000</value>                             
      </property>
    </configuration> 
    /usr/local/Cellar/hadoop/3.0.0/libexec/etc/hadoop/mapred-site.xml konumundaki dosyaya aşağıdaki kodu ekleyin. Bu kodu configration kısmına ekleyin ve 2 kez configration olmadığından emin olun.
    Bazı kaynaklarda maprep-site.xml dosyasının default olarak bulunmadığı yerine maprep-site.xml.template bulunduğu yazmaktadır. Biz karşılaşmadık ancak karşılaşırsanız siz dosyanın adını da düzeltmeyi unutmayın.

    Kod:
    <configuration>
    <property>
    <name>mapred.job.tracker</name>
    <value>localhost:9010</value>
    </property>
    </configuration>
    
    /usr/local/Cellar/hadoop/3.0.0/libexec/etc/hadoop/hdfs-site.xml konumundaki dosyaya aşağıdaki kodu ekleyin. Bu kodu configration kısmına ekleyin ve 2 kez configration olmadığından emin olun.

    Kod:
    <configuration>
    <property>
    <name>dfs.replication</name>
    <value>1</value>
    </property>
    </configuration>
    
    Aynı klasöre profile dosyasını oluşturmak için aşağıdaki kodu yazmanız gerekiyor.

    Kod:
    vi ~/.profile
    Ardından editör açılacak bu dosyanın içine aşağıdaki satırları ekledikten sonra kaydediyoruz.

    Kod:
    alias hstart="/usr/local/Cellar/hadoop/3.0.0/sbin/start-dfs.sh;/usr/local/Cellar/hadoop/3.0.0/sbin/start-yarn.sh"
    alias hstop="/usr/local/Cellar/hadoop/3.0.0/sbin/stop-yarn.sh;/usr/local/Cellar/hadoop/3.0.0/sbin/stop-dfs.sh"
    
    Bu dosyayı çalıştırmak için de şu komutu yazıyoruz.

    Kod:
    $ source ~/.profile
    HDFS'ye format atıyoruz. (HDFS: Hadoop file system) Diğer bir ifade ile Hadoop'u çalıştırıyoruz.

    Kod:
    $ hdfs namenode -format
    Hadoop ile diğer bilgisayarlara (burada bizim tek bilgisayarımız var) bağlanmak için bir SSH anahtarı oluşturmamız gerekiyor. Bunun için de şu komutu yazıyoruz.

    Kod:
    $ ssh-keygen -t rsa
    Anahtarı aynı klasöre saklayabiliriz. Parola da girdikten sonra 2 boyutlu matris üzerinde SSH oluşuyor.

    Hemen ardından Ayarlar -> Paylaşım 'a gelip uzak bağlantının (remote login) yanına tik koymayı unutmuyoruz.

    Bu anahtarı yetkili anahtar olarak SSH'a kaydediyoruz.

    Kod:
    $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    SSH'ya bağlanmak için

    Kod:
    $ ssh localhost
    yazıyoruz. Başarılı bağlantıdan sonra bağlantıyı kapatabiliriz.

    Kod:
    $ exit
    Son olarak Hadoop'u çalıştırmak için

    Kod:
    $ hstart
    Hadoop'u durdurmak için de

    Kod:
    $ hstop
    yazabiliriz.

    Örnek uygulama (yk_example.jar) ektedir. Ekteki uygulamayı çalıştırarak kurulumun başarılı olup olmadığını deneyebilirsiniz. Bu uygulama pi sayısını tahmin etmektedir.

    Kod:
    yarn jar yk_example.jar pi 25 25
    ve pi sayısı tam olarak doğru olmasa da hesaplandı.

    Eğer hata alırsanız.

    "Connection refuse" hatası 9000. porta bağlanamama, remote loginin kapalı olması, firewall engellemesi, ssh anahtarı doğru üretilmemesi kaynaklı olabilir.

    Hadoop'u hstart yerine elle başlatmanız gerekebilir. Bunun için şunu yazmanız gerekir.

    Kod:
    $ hstart
    $ hdfs dfs -ls /
     

    Ekli dosyalar:

    Tags:

Bu Sayfayı Paylaş

Yükleniyor...