Her büyük endüstri, büyük verileri işlemek ve depolamak için standart çerçeve olarak Apache Hadoop’u uyguluyor. Hadoop, yüzlerce hatta binlerce adanmış sunucudan oluşan bir ağda dağıtılmak üzere tasarlanmıştır. Tüm bu makineler, çok büyük hacimli ve çeşitli gelen veri kümeleriyle başa çıkmak için birlikte çalışır.
Hadoop hizmetlerini tek bir düğümde dağıtmak, temel Hadoop komutları ve kavramları hakkında bilgi edinmenin harika bir yoludur.
Bu izlemesi kolay kılavuz, Hadoop’u Ubuntu 18.04 veya Ubuntu 20.04’e kurmanıza yardımcı olur.
Önkoşullar
- Bir terminal penceresine/komut satırına erişim
- sudo veya kök yerel/uzak makinelerde ayrıcalıklar
OpenJDK’yi Ubuntu’ya kurun
Hadoop çerçevesi, Java ile yazılmıştır ve hizmetleri, uyumlu bir Java Runtime Environment (JRE) ve Java Development Kit (JDK) gerektirir. Yeni bir kurulum başlatmadan önce sisteminizi güncellemek için aşağıdaki komutu kullanın:
sudo apt update
Şu anda, Apache Hadoop 3.x, Java 8’i tamamen destekler. Ubuntu’daki OpenJDK 8 paketi, hem çalışma zamanı ortamını hem de geliştirme kitini içerir.
OpenJDK 8’i kurmak için terminalinize aşağıdaki komutu yazın:
sudo apt install openjdk-8-jdk -y
OpenJDK veya Oracle Java sürümü, bir Hadoop ekosisteminin öğelerinin etkileşimini etkileyebilir. Belirli bir Java sürümünü yüklemek için Java’yı Ubuntu’ya nasıl kuracağınıza ilişkin ayrıntılı kılavuzumuza göz atın.
Yükleme işlemi tamamlandıktan sonra geçerli Java sürümünü doğrulayın:
java -version; javac -version
Çıktı, hangi Java sürümünün kullanımda olduğunu size bildirir.
Hadoop Ortamı İçin Kök Olmayan Bir Kullanıcı Ayarlama
Özellikle Hadoop ortamı için root olmayan bir kullanıcı oluşturulması tavsiye edilir. Farklı bir kullanıcı, güvenliği artırır ve kümenizi daha verimli bir şekilde yönetmenize yardımcı olur. Hadoop hizmetlerinin sorunsuz çalışmasını sağlamak için, kullanıcının localhost ile parolasız bir SSH bağlantısı kurabilmesi gerekir.
OpenSSH’yi Ubuntu’ya kurun
Aşağıdaki komutu kullanarak OpenSSH sunucusunu ve istemcisini kurun:
sudo apt install openssh-server openssh-client -y
Aşağıdaki örnekte çıktı, en son sürümün kurulu olduğunu onaylar.
OpenSSH’yi ilk kez yüklediyseniz, bu hayati SSH güvenlik önerilerini uygulamak için bu fırsatı kullanın.
Hadoop Kullanıcısı Oluştur
kullanmak adduser
yeni bir Hadoop kullanıcısı oluşturma komutu:
sudo adduser hdoop
Kullanıcı adı, bu örnekte, hdop. Uygun gördüğünüz herhangi bir kullanıcı adı ve şifreyi kullanmakta özgürsünüz. Yeni oluşturulan kullanıcıya geçin ve ilgili şifreyi girin:
su - hdoop
Kullanıcının artık parola sorulmadan yerel ana bilgisayara SSH yapabilmesi gerekir.
Hadoop Kullanıcısı için Parolasız SSH’yi etkinleştirin
Bir SSH anahtar çifti oluşturun ve depolanacak konumu tanımlayın:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
Sistem, SSH anahtar çiftini oluşturmaya ve kaydetmeye devam eder.
Kullan cat
ortak anahtarı şu şekilde saklama komutu yetkili_anahtarlar içinde ssh dizin:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ile kullanıcınız için izinleri ayarlayın. chmod
emretmek:
chmod 0600 ~/.ssh/authorized_keys
Yeni kullanıcı artık her seferinde şifre girmesine gerek kalmadan SSH yapabiliyor. kullanarak her şeyin doğru ayarlandığını doğrulayın. hdop kullanıcıdan localhost’a SSH’ye:
ssh localhost
İlk istemden sonra, Hadoop kullanıcısı artık yerel ana bilgisayarla sorunsuz bir şekilde SSH bağlantısı kurabilir.
Ubuntu’da Hadoop’u İndirin ve Kurun
ziyaret edin resmi Apache Hadoop proje sayfasıve uygulamak istediğiniz Hadoop sürümünü seçin.
Bu öğreticide özetlenen adımlar, şu amaçlarla İkili indirmeyi kullanır: Hadoop Sürüm 3.2.1.
Tercih ettiğiniz seçeneği seçin ve size indirmenize izin veren bir ayna bağlantısı sunulur. Hadoop katran paketi.
Not: Yansıtma sitelerinden kaynaklanan Hadoop indirmelerini doğrulamak doğru bir uygulamadır. Doğrulama için GPG veya SHA-512’yi kullanma talimatları resmi indirme sayfasında verilmiştir.
Sağlanan yansıtma bağlantısını kullanın ve Hadoop paketini wget
emretmek:
wget https://downloads.apache.org/hadoop/common/hadoop-3.2.1/hadoop-3.2.1.tar.gz
İndirme tamamlandıktan sonra, Hadoop kurulumunu başlatmak için dosyaları çıkartın:
tar xzf hadoop-3.2.1.tar.gz
Hadoop ikili dosyaları artık hadoop-3.2.1 dizin.
Tek Düğümlü Hadoop Dağıtımı (Sözde Dağıtılmış Mod)
Hadoop, bir tamamen dağıtılmış mod büyük bir ağa bağlı sunucu kümesinde. Ancak, Hadoop’ta yeniyseniz ve temel komutları keşfetmek veya uygulamaları test etmek istiyorsanız, Hadoop’u tek bir düğümde yapılandırabilirsiniz.
olarak da adlandırılan bu kurulum sözde dağıtılmış mod, her Hadoop arka plan programının tek bir Java işlemi olarak çalışmasına izin verir. Bir Hadoop ortamı, bir dizi yapılandırma dosyası düzenlenerek yapılandırılır:
- bashrc
- hadoop-env.sh
- çekirdek site.xml
- hdfs sitesi.xml
- eşlenmiş-site-xml
- yarn-site.xml
Hadoop Ortam Değişkenlerini Yapılandırma (bashrc)
Düzenle .bashrc Seçtiğiniz bir metin düzenleyiciyi kullanarak kabuk yapılandırma dosyası (nano kullanacağız):
sudo nano .bashrc
Aşağıdaki içeriği dosyanın sonuna ekleyerek Hadoop ortam değişkenlerini tanımlayın:
#Hadoop Related Options
export HADOOP_HOME=/home/hdoop/hadoop-3.2.1
export HADOOP_INSTALL=$HADOOP_HOME
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 PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_OPTS"-Djava.library.path=$HADOOP_HOME/lib/nativ"
Değişkenleri ekledikten sonra kaydedin ve .bashrc dosya.
Aşağıdaki komutu kullanarak değişiklikleri mevcut çalışma ortamına uygulamak çok önemlidir:
source ~/.bashrc
hadoop-env.sh Dosyasını Düzenle
bu hadoop-env.sh dosyası, YARN, HDFS, MapReduce ve Hadoop ile ilgili proje ayarlarını yapılandırmak için bir ana dosya görevi görür.
ayarlarken bir tek düğümlü Hadoop kümesi, hangi Java uygulamasının kullanılacağını tanımlamanız gerekir. Önceden oluşturulmuş olanı kullan $HADOOP_HOME
erişmek için değişken hadoop-env.sh dosya:
sudo nano $HADOOP_HOME/etc/hadoop/hadoop-env.sh
yorumunu kaldır $JAVA_HOME
değişken (yani, kaldır #
imzalayın) ve sisteminizdeki OpenJDK kurulumunun tam yolunu ekleyin. Bu eğitimin ilk bölümünde sunulan sürümün aynısını yüklediyseniz, aşağıdaki satırı ekleyin:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
Yolun, sisteminizdeki Java kurulumunun konumuyla eşleşmesi gerekir.
Doğru Java yolunu bulmak için yardıma ihtiyacınız varsa, terminal pencerenizde aşağıdaki komutu çalıştırın:
which javac
Ortaya çıkan çıktı, Java ikili dizinine giden yolu sağlar.
Aşağıdaki komutla OpenJDK dizinini bulmak için sağlanan yolu kullanın:
readlink -f /usr/bin/javac
Yolun hemen önceki bölümü /bin/javac dizine atanması gerekir $JAVA_HOME
değişken.
core-site.xml Dosyasını Düzenle
bu çekirdek site.xml file, HDFS ve Hadoop çekirdek özelliklerini tanımlar.
Hadoop’u sözde dağıtılmış modda kurmak için şunları yapmanız gerekir: URL’yi belirtin NameNode’unuz için ve Hadoop’un harita ve azaltma işlemi için kullandığı geçici dizin.
Aç çekirdek site.xml bir metin düzenleyicide dosya:
sudo nano $HADOOP_HOME/etc/hadoop/core-site.xml
Geçici dizin için varsayılan değerleri geçersiz kılmak için aşağıdaki yapılandırmayı ekleyin ve varsayılan yerel dosya sistemi ayarını değiştirmek için HDFS URL’nizi ekleyin:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hdoop/tmpdata</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://127.0.0.1:9000</value>
</property>
</configuration>
Bu örnek, yerel sisteme özgü değerleri kullanır. Sistem gereksinimlerinize uygun değerler kullanmalısınız. Verilerin yapılandırma süreci boyunca tutarlı olması gerekir.
Geçici verileriniz için belirttiğiniz konumda bir Linux dizini oluşturmayı unutmayın.
hdfs-site.xml Dosyasını Düzenle
içindeki özellikler hdfs sitesi.xml file, düğüm meta verilerini, fsimage dosyasını ve düzenleme günlük dosyasını depolamak için konumu yönetir. tanımlayarak dosyayı yapılandırın. İsim Düğümü Ve DataNode depolama dizinleri.
Ek olarak, varsayılan dfs.replication
değeri 3
olarak değiştirilmesi gerekiyor 1
tek düğüm kurulumuyla eşleştirmek için.
açmak için aşağıdaki komutu kullanın. hdfs sitesi.xml düzenleme için dosya:
sudo nano $HADOOP_HOME/etc/hadoop/hdfs-site.xml
Aşağıdaki yapılandırmayı dosyaya ekleyin ve gerekirse NameNode ve DataNode dizinlerini özel konumlarınıza göre ayarlayın:
<configuration>
<property>
<name>dfs.data.dir</name>
<value>/home/hdoop/dfsdata/namenode</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/hdoop/dfsdata/datanode</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
Gerekirse, için tanımladığınız belirli dizinleri oluşturun. dfs.data.dir
değer.
mapred-site.xml Dosyasını Düzenle
erişmek için aşağıdaki komutu kullanın. mapred-site.xml dosya ve MapReduce değerlerini tanımlayın:
sudo nano $HADOOP_HOME/etc/hadoop/mapred-site.xml
Varsayılan MapReduce çerçeve adı değerini olarak değiştirmek için aşağıdaki yapılandırmayı ekleyin. yarn
:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
yarn-site.xml Dosyasını Düzenle
bu yarn-site.xml dosyası, ilgili ayarları tanımlamak için kullanılır. İPLİK. için yapılandırmaları içerir. Düğüm Yöneticisi, Kaynak Yöneticisi, Konteynerler, Ve Uygulama Ustası.
Aç yarn-site.xml bir metin düzenleyicide dosya:
sudo nano $HADOOP_HOME/etc/hadoop/yarn-site.xml
Aşağıdaki yapılandırmayı dosyaya ekleyin:
<configuration>
<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>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>127.0.0.1</value>
</property>
<property>
<name>yarn.acl.enable</name>
<value>0</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PERPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
</configuration>
HDFS Ad Düğümünü Biçimlendir
Bu önemli NameNode’u biçimlendir Hadoop hizmetlerini ilk kez başlatmadan önce:
hdfs namenode -format
Kapanma bildirimi, NameNode biçimlendirme işleminin sonunu belirtir.
Hadoop Kümesini Başlat
Şuraya git: hadoop-3.2.1/sbin dizini açın ve NameNode ile DataNode’u başlatmak için aşağıdaki komutları yürütün:
./start-dfs.sh
Sistemin gerekli düğümleri başlatması birkaç dakika sürer.
Namenode, datanodes ve ikincil namenode çalışmaya başladığında, şunu yazarak YARN kaynağını ve nodemanager’ları başlatın:
./start-yarn.sh
Önceki komutta olduğu gibi, çıktı size işlemlerin başladığını bildirir.
Tüm arka plan programlarının etkin olup olmadığını ve Java işlemleri olarak çalışıp çalışmadığını kontrol etmek için şu basit komutu yazın:
jps
Her şey amaçlandığı gibi çalışıyorsa, çalışan Java işlemlerinin sonuçtaki listesi tüm HDFS ve YARN arka plan programlarını içerir.
Tarayıcıdan Hadoop Kullanıcı Arayüzüne Erişin
Tercih ettiğiniz tarayıcıyı kullanın ve yerel ana bilgisayar URL’nize veya IP’nize gidin. Varsayılan bağlantı noktası numarası 9870 Hadoop NameNode Kullanıcı Arayüzüne erişmenizi sağlar:
http://localhost:9870
NameNode kullanıcı arabirimi, tüm kümeye kapsamlı bir genel bakış sağlar.
varsayılan bağlantı noktası 9864 doğrudan tarayıcınızdan bireysel DataNode’lara erişmek için kullanılır:
http://localhost:9864
YARN Kaynak Yöneticisine bağlantı noktasından erişilebilir 8088:
http://localhost:8088
Kaynak Yöneticisi, Hadoop kümenizde çalışan tüm işlemleri izlemenizi sağlayan paha biçilmez bir araçtır.
Çözüm
Hadoop’u Ubuntu’ya başarıyla yüklediniz ve sözde dağıtılmış modda konuşlandırdınız. Tek düğümlü bir Hadoop dağıtımı, temel HDFS komutlarını keşfetmek ve tamamen dağıtılmış bir Hadoop kümesi tasarlamak için ihtiyaç duyduğunuz deneyimi elde etmek için mükemmel bir başlangıç noktasıdır.