Jak zainstalować Hadoop na Ubuntu: Kroki pobierania i konfiguracji
⚡ Inteligentne podsumowanie
Instalowanie Apache Hadoop na Ubuntu wymaga dwóch przejść: rozpakowania wydania na dedykowanym koncie systemowym z użyciem protokołu SSH bez hasła, a następnie edycji czterech plików XML przed sformatowaniem HDFS i uruchomieniem klastra jednowęzłowego.
W tym samouczku przeprowadzimy Cię krok po kroku przez proces instalacji Apache Hadoop na komputerze z systemem Linux (Ubuntu). Proces ten składa się z dwóch części: najpierw należy pobrać i zainstalować wersję, a następnie ją skonfigurować.
Istnieją dwa warunki wstępne:
- Musisz mieć Ubuntu zainstalowany i bieganie.
- Musisz mieć Java zainstalowany.
Notatki dotyczące wersji Hadoop 3.x dla tej konfiguracji
Zrzuty ekranu w tym przewodniku zostały wykonane w systemie Hadoop 2.2.0. Kolejność kroków pozostaje niezmieniona w obecnych wersjach, ale kilka nazw i ustawień domyślnych uległo zmianie. Przed skopiowaniem dowolnego polecenia w całości zapoznaj się z poniższą tabelą.
| Ustawienie lub krok | W tym samouczku (Hadoop 2.x) | Aktualny Hadoop 3.x |
|---|---|---|
| Archiwum wydań | hadoop-2.2.0.tar.gz |
hadoop-3.5.0.tar.gz, pierwsza stabilna wersja 3.5, opublikowana 2 kwietnia 2026 r. |
| Domyślna właściwość systemu plików | fs.default.name w prozie, fs.defaultFS w XML-u |
fs.defaultFS tylko; fs.default.name jest przestarzały |
| Właściwość MapReduce | mapreduce.jobtracker.address |
mapreduce.framework.name Ustawić yarn; pracaTracker nie będzie już istniał, gdy YARN zaplanuje pracę |
| mapred-site.xml | Skopiowane z mapred-site.xml.template |
Statki w etc/hadoop już, więc krok kopiowania jest zbędny |
| Port interfejsu użytkownika sieci Web NameNode | 50070 | 9870 |
| Java | Java 6 lub Java 7 | Java 8 lub Java 11 |
Wszystkie pozostałe elementy w tym przewodniku działają tak samo w systemie Hadoop 3: dedykowane konto, klucz SSH, cztery pliki konfiguracyjne oraz skrypty uruchamiania i zatrzymywania.
Część 1) Pobierz i zainstaluj Hadoop
Krok 1) Dodaj użytkownika systemu Hadoop
Dodaj użytkownika systemu Hadoop, korzystając z poniższego polecenia.
sudo addgroup hadoop_
sudo adduser --ingroup hadoop_ hduser_
Wprowadź swoje hasło, imię i inne dane.
UWAGA: Istnieje możliwość wystąpienia poniższego błędu w procesie konfiguracji i instalacji.
„hduser nie znajduje się w pliku sudoers. Zdarzenie to zostanie zgłoszone.”
Ten błąd można rozwiązać logując się jako użytkownik root.
Wykonaj polecenie
sudo adduser hduser_ sudo
Re-login as hduser_
Krok 2) Skonfiguruj SSH
Aby zarządzać węzłami w klastrze, Hadoop wymaga dostępu SSH.
Najpierw zmień użytkownika i wprowadź następujące polecenie
su - hduser_
To polecenie utworzy nowy klucz.
ssh-keygen -t rsa -P ""
Włącz dostęp SSH do komputera lokalnego za pomocą tego klucza.
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
Teraz przetestuj konfigurację SSH, łącząc się z localhost jako użytkownik 'hduser_'.
ssh localhost
Uwaga: Jeśli w odpowiedzi na polecenie „ssh localhost” widzisz poniższy błąd, istnieje prawdopodobieństwo, że protokół SSH nie jest dostępny w tym systemie.
Aby rozwiązać ten problem –
Usuń SSH za pomocą,
sudo apt-get purge openssh-server
Dobrą praktyką jest przeprowadzenie czyszczenia przed rozpoczęciem instalacji.
Zainstaluj SSH za pomocą polecenia-
sudo apt-get install openssh-server
Krok 3) Pobierz Hadoop
Następnym krokiem jest pobranie Hadoop z Strona wydań Apache Hadoop.
Wybierz Stabilny
Wybierz plik tar.gz (nie plik z rozszerzeniem src).
Po zakończeniu pobierania przejdź do katalogu zawierającego plik tar.
Enter
sudo tar xzf hadoop-2.2.0.tar.gz
Teraz zmień nazwę hadoop-2.2.0 na hadoop.
sudo mv hadoop-2.2.0 hadoop
Na koniec przekaż folder nowemu kontu.
sudo chown -R hduser_:hadoop_ hadoop
Zastąp wersję, którą faktycznie pobrałeś hadoop-2.2.0 w trzech powyższych poleceniach.
Część 2) Skonfiguruj Hadoop
Krok 1) Modyfikuj plik ~/.bashrc
Dodaj następujące wiersze na końcu pliku ~/.bashrc.
#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
Teraz skonfiguruj środowisko za pomocą poniższego polecenia.
. ~/.bashrc
Krok 2) Konfiguracje związane z HDFS
Ustaw JAVA_HOME w pliku $HADOOP_HOME/etc/hadoop/hadoop-env.sh, jak pokazano poniżej.
Z
W pliku $HADOOP_HOME/etc/hadoop/core-site.xml znajdują się dwa parametry, które należy ustawić:
1. 'hadoop.tmp.dir' – służy do określenia katalogu, w którym Hadoop będzie przechowywał pliki danych.
2. „fs.defaultFS” – określa domyślny system plików. Starsza nazwa tej samej właściwości, „fs.default.name”, jest przestarzała.
Aby ustawić te parametry, otwórz plik core-site.xml
sudo gedit $HADOOP_HOME/etc/hadoop/core-site.xml
Skopiuj poniższe linie pomiędzy tagi.
<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>
Przejdź do katalogu $HADOOP_HOME/etc/hadoop.
Teraz utwórz katalog wymieniony w pliku core-site.xml.
sudo mkdir -p <Path of Directory used in above setting>
Nadaj uprawnienia do katalogu.
sudo chown -R hduser_:Hadoop_ <Path of Directory created in above step>
sudo chmod 750 <Path of Directory created in above step>
Krok 3) Konfiguracja MapReduce
Zanim rozpoczniesz konfigurację, ustawmy ścieżkę HADOOP_HOME.
sudo gedit /etc/profile.d/hadoop.sh
I wejdź
export HADOOP_HOME=/home/guru99/Downloads/Hadoop
Dalej wejdź
sudo chmod +x /etc/profile.d/hadoop.sh
Wyjdź z terminala i uruchom go ponownie.
Wpisz echo $HADOOP_HOME, aby sprawdzić ścieżkę.
Teraz skopiuj pliki
sudo cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/mapred-site.xml
Otwórz plik mapred-site.xml
sudo gedit $HADOOP_HOME/etc/hadoop/mapred-site.xml
Dodaj poniższe ustawienia pomiędzy I tagi.
<property> <name>mapreduce.jobtracker.address</name> <value>localhost:54311</value> <description>MapReduce job tracker runs at this host and port. </description> </property>
Otwórz $HADOOP_HOME/etc/hadoop/hdfs-site.xml jak poniżej,
sudo gedit $HADOOP_HOME/etc/hadoop/hdfs-site.xml
Dodaj poniższe ustawienia pomiędzy I tagi.
<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>
Utwórz katalog określony w ustawieniach powyżej.
sudo mkdir -p <Path of Directory used in above setting>
sudo mkdir -p /home/hduser_/hdfs
Następnie przyznaj mu prawo własności i uprawnienia.
sudo chown -R hduser_:hadoop_ <Path of Directory created in above step>
sudo chown -R hduser_:hadoop_ /home/hduser_/hdfs
sudo chmod 750 <Path of Directory created in above step>
sudo chmod 750 /home/hduser_/hdfs
Krok 4) Formatowanie HDFS
Zanim uruchomisz Hadoop po raz pierwszy, sformatuj HDFS przy pomocy poniższego polecenia.
$HADOOP_HOME/bin/hdfs namenode -format
Krok 5) Uruchom klaster jednowęzłowy Hadoop
Uruchom klaster jednowęzłowy Hadoop za pomocą poniższego polecenia.
$HADOOP_HOME/sbin/start-dfs.sh
Wynik powyższego polecenia pokazano poniżej.
Następnie uruchom demony YARN.
$HADOOP_HOME/sbin/start-yarn.sh
Sprawdź za pomocą narzędzia „jps”, czy wszystkie procesy związane z Hadoopem są uruchomione.
Jeśli Hadoop uruchomił się pomyślnie, w wynikach jps powinny być wymienione: NameNode, NodeManager, ResourceManager, SecondaryNameNode i DataNode.
Krok 6) Zatrzymaj sięping Hadoop
Wyłącz klaster, wykonując czynności w odwrotnej kolejności.
$HADOOP_HOME/sbin/stop-dfs.sh
$HADOOP_HOME/sbin/stop-yarn.sh
Jak sprawdzić, czy Hadoop działa i naprawić typowe błędy
Dane wyjściowe jps potwierdzają uruchomienie procesów, ale nie gotowość klastra do użytku. Cztery dodatkowe sprawdzenia rozstrzygają tę kwestię.
- Otwórz interfejs internetowy NameNode pod adresem
http://localhost:9870(port 50070 na Hadoop 2.x) i sprawdź raporty podsumowujące na jednym aktywnym węźle. - Otwórz interfejs ResourceManager w
http://localhost:8088aby potwierdzić, że YARN zaakceptował NodeManager. - Uruchom
hdfs dfsadmin -reportpod kątem pojemności, aktywnych węzłów danych i wszelkich niedostatecznie replikowanych bloków. - Napisz coś:
hdfs dfs -mkdir /testnastępniehdfs dfs -ls /udowadnia, że przestrzeń nazw akceptuje zmiany.
Większość niepowodzeń, które zdarzają się po raz pierwszy, można zaliczyć do jednej z pięciu kategorii.
| Objaw | Spowodować | Fix |
|---|---|---|
| JAVA_HOME nie jest ustawiony i nie można go znaleźć | Zmienna jest eksportowana w pliku .bashrc, ale nie w pliku hadoop-env.sh | Ustaw także absolutną ścieżkę JDK w hadoop-env.sh |
| Odmowa dostępu (klucz publiczny, hasło) na lokalnym hoście ssh | brakuje author_keys lub jest zbyt liberalny | Ponownie dodaj id_rsa.pub, a następnie uruchom chmod 600 w ~/.ssh/authorized_keys |
| Połączenie odrzucone na porcie 22 | openssh-server nie jest zainstalowany lub nie działa | Zainstaluj openssh-server i uruchom usługę SSH |
| Brak DataNode w jps po ponownym sformatowaniu | Cluster Niezgodność identyfikatorów pomiędzy sformatowanym NameNode i starym katalogiem DataNode | Opróżnij folder dfs.datanode.data.dir, a następnie sformatuj go ponownie |
| start-dfs.sh: polecenie nie znalezione | HADOOP_HOME i PATH nigdy nie były pobierane z bieżącej powłoki | Uruchom . ~/.bashrc lub otwórz nowy terminal |





























