Hadoop Nasıl Kurulur? Ubuntuİndirme ve Kurulum Adımları

⚡ Akıllı Özet

Apache Hadoop'u Kurma Ubuntu İki aşamadan oluşur: önce parola gerektirmeyen SSH ile özel bir sistem hesabı altında sürümün paketinden çıkarılması, ardından HDFS'yi biçimlendirmeden ve tek düğümlü kümeyi başlatmadan önce dört XML dosyasının düzenlenmesi.

  • 🔘 Önkoşul: Bir koşu Ubuntu makine ve desteklenen Java Öncelikle geliştirme kitinin kurulu olması gerekmektedir.
  • ☑️ Özel hesap: Hadoop_ grubunu ve hduser_ hesabını oluşturarak, servislerin asla oturum açtığınız kullanıcı adınızla çalışmasını engelleyin.
  • Parolasız SSH: Hadoop, arka plan işlemlerini SSH üzerinden başlatır; bu nedenle `ssh localhost` komutunun parola istemi olmadan başarılı olması gerekir.
  • 🧪 Dört yapılandırma dosyası: Bu kılavuzda değiştirilen tüm ayarları hadoop-env.sh, core-site.xml, mapred-site.xml ve hdfs-site.xml dosyaları içermektedir.
  • İlk başlangıç: NameNode'u bir kez biçimlendirin, ardından start-dfs.sh ve start-yarn.sh komutlarını çalıştırın ve jps ile beş daemon'un çalıştığını doğrulayın.
  • 🧭 Sürüm kayması: Ekran görüntülerinde Hadoop 2.2.0 kullanılmıştır, bu nedenle sürüm, portlar ve özellik adlarını Hadoop 3.x ile karşılaştırın.

Hadoop Nasıl Kurulur? Ubuntu

Bu eğitimde, Linux işletim sistemli bir bilgisayara Apache Hadoop'u adım adım nasıl kuracağınızı göstereceğiz.UbuntuBu iki aşamalı bir işlemdir: önce sürümü indirip kurun, ardından yapılandırın.

İki ön koşul vardır:

Bu kurulum için Hadoop 3.x sürümüne ilişkin notlar.

Bu kılavuzdaki ekran görüntüleri Hadoop 2.2.0 üzerinde alınmıştır. Adımların sırası mevcut sürümlerde değişmemiştir, ancak birkaç isim ve varsayılan değer yer değiştirmiştir. Herhangi bir komutu olduğu gibi kopyalamadan önce aşağıdaki tabloyu kontrol edin.

Ayar veya adım Bu eğitimde (Hadoop 2.x) Mevcut Hadoop 3.x
Yayın arşivi hadoop-2.2.0.tar.gz hadoop-3.5.0.tar.gz3.5 sürümünün ilk kararlı versiyonu, 2 Nisan 2026'da yayınlandı.
Varsayılan dosya sistemi özelliği fs.default.name düzyazıda, fs.defaultFS XML'de fs.defaultFS sadece; fs.default.name kullanımdan kaldırıldı
MapReduce özelliği mapreduce.jobtracker.address mapreduce.framework.name ayarlandığında yarnİşTracYARN işi planladığında ker artık mevcut olmaz.
haritalanmış-site.xml Kopyalandı mapred-site.xml.template Gemiler etc/hadoop Zaten öyle, bu yüzden kopyalama adımı gereksiz.
NameNode web kullanıcı arayüzü portu 50070 9870
Java Java 6 veya Java 7 Java 8 veya Java 11

Bu kılavuzdaki diğer her şey Hadoop 3'te de aynı şekilde çalışır: özel hesap, SSH anahtarı, dört yapılandırma dosyası ve başlatma ve durdurma komut dosyaları.

Bölüm 1) Hadoop'u indirin ve yükleyin

Adım 1) Bir Hadoop sistem kullanıcısı ekleyin

Aşağıdaki komutu kullanarak bir Hadoop sistem kullanıcısı ekleyin.

sudo addgroup hadoop_

Terminalde sudo addgroup hadoop_ komutunu çalıştırıyorum.

sudo adduser --ingroup hadoop_ hduser_

hduser_ için ayrıntıları toplayan adduser istemi

Şifrenizi, adınızı ve diğer bilgilerinizi girin.

NOT: Bu kurulum ve yükleme sürecinde aşağıda belirtilen hatanın oluşma olasılığı vardır.

“hduser sudoers dosyasında değil. Bu olay rapor edilecektir."

Hata mesajı: hduser sudoers dosyasında bulunmuyor.

Bu hata, root kullanıcısı olarak oturum açarak çözülebilir.

Terminalde root kullanıcısına geçiş yapılıyor.

Komutu yürütün

sudo adduser hduser_ sudo

hduser_ kullanıcısını sudo grubuna ekleme

Re-login as hduser_

hduser_ olarak yeniden giriş yapılıyor.

Adım 2) SSH'yi yapılandırın

Bir kümedeki düğümleri yönetmek için Hadoop'un SSH erişimine ihtiyacı vardır.

İlk önce kullanıcıyı değiştirin, aşağıdaki komutu girin

su - hduser_

su komutuyla kullanıcı değiştirme - hduser_

Bu komut yeni bir anahtar oluşturacaktır.

ssh-keygen -t rsa -P ""

ssh-keygen hduser_ için bir RSA anahtar çifti oluşturuyor.

Bu anahtarı kullanarak yerel makineye SSH erişimini etkinleştirin.

cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

id_rsa.pub dosyasını authorized_keys dosyasına ekleme

Şimdi 'hduser_' kullanıcısı olarak localhost'a bağlanarak SSH kurulumunu test edin.

ssh localhost

hduser_ için başarılı ssh localhost oturumu.

Not: 'ssh localhost' komutuna aşağıdaki hatayı alıyorsanız, bu sistemde SSH'nin kullanılamıyor olma olasılığı vardır.

SSH localhost bağlantısı reddedildi hatasıyla başarısız oluyor.

Bunu çözmek için –

SSH'yi kullanarak temizleyin,

sudo apt-get purge openssh-server

Kurulum işlemine başlamadan önce önbelleği temizlemek iyi bir uygulamadır.

apt-get purge mevcut openssh-server paketini kaldırıyor.

Komutu kullanarak SSH'yi yükleyin.

sudo apt-get install openssh-server

apt-get ile openssh-server paketini yüklemek

Adım 3) Hadoop'u indirin

Sonraki adım Hadoop'u indirmektir. Apache Hadoop sürümleri sayfası.

Apache Hadoop sürümlerinin listesini içeren yayın sayfası.

Kararlı'yı seçin

Kararlı Hadoop sürümü için dizin listesi

tar.gz dosyasını seçin (src ile biten dosyayı değil).

Hadoop tar.gz ikili dosyasını src arşivi yerine seçmek

İndirme işlemi tamamlandıktan sonra, tar dosyasını içeren dizine gidin.

İndirilen tar dosyasının bulunduğu dizinde terminal açıldı.

girin

sudo tar xzf hadoop-2.2.0.tar.gz

ExtracHadoop tar dosyasını tar xzf ile açmak

Şimdi hadoop-2.2.0'ı hadoop olarak yeniden adlandırın.

sudo mv hadoop-2.2.0 hadoop

Eski adını değiştirmektracted hadoop-2.2.0 klasörünü hadoop'a taşı

Son olarak, klasörü yeni hesaba teslim edin.

sudo chown -R hduser_:hadoop_ hadoop

chown komutu, hadoop klasörünü hduser_ ve hadoop_ kullanıcılarına atıyor.

İndirdiğiniz sürümün yerine şunu yazın: hadoop-2.2.0 Yukarıdaki üç komutta.

Bölüm 2) Hadoop'u Yapılandırma

Adım 1) ~/.bashrc dosyasını değiştirin.

Aşağıdaki satırları ~/.bashrc dosyasının sonuna ekleyin.

#Set HADOOP_HOME
export HADOOP_HOME=<Installation Directory of Hadoop>
#Set JAVA_HOME
export JAVA_HOME=<Installation Directory of Java>
# Add bin/ directory of Hadoop to PATH
export PATH=$PATH:$HADOOP_HOME/bin

HADOOP_HOME, JAVA_HOME ve PATH dışa aktarımlarının eklendiği bashrc dosyası.

Şimdi, aşağıdaki komutu kullanarak bu ortam yapılandırmasını kaynaklayın.

. ~/.bashrc

Yeni ortam değişkenlerinin etkili olabilmesi için bashrc dosyasından kaynak kod alınıyor.

Adım 2) HDFS ile ilgili yapılandırmalar

Aşağıda gösterildiği gibi, `$HADOOP_HOME/etc/hadoop/hadoop-env.sh` dosyasında `JAVA_HOME` değişkenini ayarlayın.

hadoop-env.sh dosyasındaki varsayılan JAVA_HOME satırı.

Editörde açılan hadoop-env.sh dosyasında JAVA_HOME dışa aktarımı gösteriliyor.

İle

hadoop-env.sh dosyasındaki JAVA_HOME değeri gerçek değerle değiştirildi. Java kurulum yolu

$HADOOP_HOME/etc/hadoop/core-site.xml dosyasında ayarlanması gereken iki parametre bulunmaktadır.

1. 'hadoop.tmp.dir' – Hadoop'un veri dosyalarını depolamak için kullanacağı dizini belirtmek için kullanılır.

2. 'fs.defaultFS' – Bu, varsayılan dosya sistemini belirtir. Aynı özelliğin eski adı olan 'fs.default.name' artık kullanılmamaktadır.

Bu parametreleri ayarlamak için core-site.xml dosyasını açın

sudo gedit $HADOOP_HOME/etc/hadoop/core-site.xml

core-site.xml dosyasını açmak gedit

Aşağıdaki satırları arasına kopyalayın. etiketler.

<property>
<name>hadoop.tmp.dir</name>
<value>/app/hadoop/tmp</value>
<description>Parent directory for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS </name>
<value>hdfs://localhost:54310</value>
<description>The name of the default file system. </description>
</property>

hadoop.tmp.dir ve fs.defaultFS özelliklerini içeren core-site.xml dosyası.

$HADOOP_HOME/etc/hadoop dizinine gidin.

Hadoop etc/hadoop yapılandırma dizini içindeki terminal

Şimdi, core-site.xml dosyasında belirtilen dizini oluşturun.

sudo mkdir -p <Path of Directory used in above setting>

mkdir -p komutuyla hadoop.tmp.dir yolu oluşturuluyor.

Dizin için izinleri verin.

sudo chown -R hduser_:Hadoop_ <Path of Directory created in above step>

chown komutu, geçici dizinin sahipliğini hduser_ kullanıcısına veriyor.

sudo chmod 750 <Path of Directory created in above step>

Geçici dizine chmod 750 komutu uygulandı.

Adım 3) MapReduce Yapılandırması

Bu yapılandırmalara başlamadan önce, HADOOP_HOME yolunu ayarlayalım.

sudo gedit /etc/profile.d/hadoop.sh

Ve Girin

export HADOOP_HOME=/home/guru99/Downloads/Hadoop

hadoop.sh profil betiği HADOOP_HOME'u dışa aktarıyor

Sonraki giriş

sudo chmod +x /etc/profile.d/hadoop.sh

`chmod +x` komutuyla hadoop.sh profil betiği çalıştırılabilir hale getirilir.

Terminali kapatın ve yeniden başlatın.

Yolun doğruluğunu kontrol etmek için `echo $HADOOP_HOME` yazın.

yapılandırılmış kurulum yolunu yazdıran `echo $HADOOP_HOME` komutu.

Şimdi dosyaları kopyala

sudo cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/mapred-site.xml

mapred-site.xml.template dosyası mapred-site.xml dosyasına kopyalanıyor.

mapred-site.xml dosyasını açın.

sudo gedit $HADOOP_HOME/etc/hadoop/mapred-site.xml

mapred-site.xml dosyasını açmak gedit

Aşağıdaki ayarları arasına ekleyin. Ve etiketler.

<property>
<name>mapreduce.jobtracker.address</name>
<value>localhost:54311</value>
<description>MapReduce job tracker runs at this host and port.
</description>
</property>

MapReduce işini içeren mapred-site.xml dosyası tracker mülkü

Aşağıdaki gibi $HADOOP_HOME/etc/hadoop/hdfs-site.xml dosyasını açın.

sudo gedit $HADOOP_HOME/etc/hadoop/hdfs-site.xml

hdfs-site.xml dosyasını açmak gedit

Aşağıdaki ayarları arasına ekleyin. Ve etiketler.

<property>
<name>dfs.replication</name>
<value>1</value>
<description>Default block replication.</description>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hduser_/hdfs</value>
</property>

hdfs-site.xml dosyası, dfs.replication ve dfs.datanode.data.dir özelliklerini içermektedir.

Yukarıdaki ayarlarda belirtilen dizini oluşturun.

sudo mkdir -p <Path of Directory used in above setting>
sudo mkdir -p /home/hduser_/hdfs

mkdir -p komutuyla DataNode veri dizinini oluşturma

Ardından ona sahiplik ve izinler verin.

sudo chown -R hduser_:hadoop_ <Path of Directory created in above step>
sudo chown -R hduser_:hadoop_ /home/hduser_/hdfs

chown komutu, DataNode veri dizininin sahipliğini hduser_ kullanıcısına veriyor.

sudo chmod 750 <Path of Directory created in above step>
sudo chmod 750 /home/hduser_/hdfs

chmod 750 komutu DataNode veri dizinine uygulandı.

Adım 4) HDFS'yi Biçimlendirin

Hadoop'u ilk kez çalıştırmadan önce, aşağıdaki komutu kullanarak HDFS'yi biçimlendirin.

$HADOOP_HOME/bin/hdfs namenode -format

hdfs namenode -format çıktısı yeni dosya sistemini biçimlendiriyor

Adım 5) Hadoop tek düğümlü kümesini başlatın

Aşağıdaki komutu kullanarak Hadoop tek düğümlü kümesini başlatın.

$HADOOP_HOME/sbin/start-dfs.sh

Yukarıdaki komutun çıktısı aşağıda gösterilmiştir.

start-dfs.sh çıktısı, NameNode ve DataNode'un başlatılmasını gösteriyor.

Ardından YARN servislerini başlatın.

$HADOOP_HOME/sbin/start-yarn.sh

start-yarn.sh çıktısı: ResourceManager ve NodeManager başlatılıyor.

'jps' aracını kullanarak Hadoop ile ilgili tüm işlemlerin çalışıp çalışmadığını doğrulayın.

jps çıktısı, çalışan beş Hadoop servisini listeliyor.

Hadoop başarıyla başlatıldıysa, jps çıktısında NameNode, NodeManager, ResourceManager, SecondaryNameNode ve DataNode listelenmelidir.

Adım 6) Durdurunping Hadoop'un

Küme kapatma işlemlerini ters sırayla gerçekleştirin.

$HADOOP_HOME/sbin/stop-dfs.sh

stop-dfs.sh komutunun çıktısı HDFS servislerini kapatıyor.

$HADOOP_HOME/sbin/stop-yarn.sh

stop-yarn.sh çıktısı YARN servislerini kapatıyor

Hadoop'un Çalıştığını Doğrulama ve Sık Karşılaşılan Hataları Düzeltme Yöntemleri

JPS çıktısı, işlemlerin başlatıldığını doğruluyor, ancak kümenin kullanılabilir olduğunu doğrulamıyor. Dört ek kontrol bu soruyu çözüyor.

  • NameNode web arayüzünü şu adresten açın: http://localhost:9870 (Hadoop 2.x'te 50070 numaralı bağlantı noktası) ve özet raporlarında bir adet çalışan düğümün olduğunu doğrulayın.
  • ResourceManager arayüzünü şu adresten açın: http://localhost:8088 YARN'ın NodeManager'ı kabul ettiğini doğrulamak için.
  • koşmak hdfs dfsadmin -report Kapasite, aktif DataNode'lar ve yetersiz çoğaltılmış bloklar için.
  • Bir şeyler yazın: hdfs dfs -mkdir /test ardından hdfs dfs -ls / Bu, ad alanının değişiklikleri kabul ettiğini kanıtlar.

İlk denemelerde yaşanan başarısızlıkların çoğu beş kategoriye girer.

Semptom Sebeb olmak sabit
JAVA_HOME ayarlanmamış ve bulunamadı. Değişken .bashrc dosyasında dışa aktarılıyor ancak hadoop-env.sh dosyasında dışa aktarılmıyor. Hadoop-env.sh dosyasında da JDK'nın mutlak yolunu belirtin.
SSH localhost üzerinde erişim engellendi (publickey,password). authorized_keys eksik veya çok fazla izin verici. id_rsa.pub dosyasını tekrar ekleyin, ardından ~/.ssh/authorized_keys dizinine chmod 600 komutunu çalıştırın.
22 numaralı porta bağlantı reddedildi. openssh-server yüklü değil veya çalışmıyor. OpenSSH sunucusunu kurun ve SSH hizmetini başlatın.
Yeniden biçimlendirme sonrasında jps dosyasından DataNode kayboldu. Cluster Biçimlendirilmiş NameNode ile eski DataNode dizini arasında kimlik uyuşmazlığı. dfs.datanode.data.dir klasörünü boşaltın, ardından bir kez daha biçimlendirin.
start-dfs.sh: komut bulunamadı Mevcut shell'de HADOOP_HOME ve PATH hiçbir zaman kaynak olarak kullanılmadı. . ~/.bashrc komutunu çalıştırın veya yeni bir terminal açın.

SSS

Aktif olarak desteklenen herhangi bir Ubuntu LTS sürümleri, 22.04 ve 24.04 dahil olmak üzere çalışmaktadır. Hadoop 3.x, derlenmiş ve test edilmiştir. Java 8 ve Java 11, bu yüzden bu JDK'lardan birini kurun; daha yeni JDK'lar tam olarak desteklenmiyor ve daha eskileri de desteklenmiyor. Java 7 sürüm artık geçerli değil.

start-dfs.sh ve start-yarn.sh komut dosyaları, tek sunucu localhost olsa bile, tüm servisleri SSH üzerinden başlatır. Parolasız bir anahtar olmadan komut dosyaları parola isteminde takılı kalır ve hiçbir servis başlatılamaz.

`hadoop.tmp.dir`, Hadoop'un diğer geçici konumları türettiği temel geçici depolama yoludur. `dfs.datanode.data.dir` ise bir DataNode'un gerçek blok dosyalarını sakladığı yerdir. İkinci yolu kalıcı depolama alanına yönlendirin, asla `/tmp`'ye değil, aksi takdirde yeniden başlatmada bloklar kaybolur.

İlk çalıştırmadan önce bir kez biçimlendirme yapın. Biçimlendirmeyi tekrar çalıştırmak ad alanını siler ve mevcut DataNode dizinlerini daha eski bir küme kimliğiyle bırakır; bu nedenle DataNode kaydolmayı reddeder ve jps çıktısından kaybolur.

evet, yine de Windows İlgili sürüm için winutils.exe ve hadoop.dll yerel ikili dosyalarına ihtiyaç duyar. Çoğu kişi aynı sürümü çalıştırarak bundan kaçınır. Ubuntu WSL 2'nin içindeki adımlar, normal bir Linux sunucusu gibi davranır.

Öğrenmek için evet: önceden oluşturulmuş bir imaj, kullanıcı oluşturmayı, SSH anahtarlarını ve XML düzenlemeyi atlar. Ancak, gerçek bir küme düzgün çalışmadığında hangi dosyanın hangi ayarı kontrol ettiğini göstermesi açısından, elle kurulumu bir kez yapmak yine de faydalıdır.

NameNode ve YARN metrikleri üzerinde çalışan makine öğrenimi modelleri, kapasite sınırlarını tahmin eder, dengesiz işleri tespit eder ve arızalı diskleri erken aşamada belirler. Birçok platform ayrıca konteyner boyutlarını otomatik olarak önererek, eskiden gerekli olan bu yapılandırmanın manuel olarak ayarlanmasının büyük bir kısmını ortadan kaldırır.

Copilot, core-site.xml ve hdfs-site.xml özellik bloklarını hızlı bir şekilde taslak haline getirir ve tam yazımlarını hatırlar. Her öneriyi sürümünüzün dokümantasyonuna göre doğrulayın, çünkü genellikle mapreduce.job gibi kullanımdan kaldırılmış özellikler önerir.tracker.address veya fs.default.name.

Bu yazıyı şu şekilde özetleyin: