Jak zainstalować i skonfigurować Hadoop na CentOS/RHEL 8
- 1124
- 142
- Juliusz Janicki
Hadoop to bezpłatne, oparte na otwartym source i oparte na Javie ramy oprogramowania używane do przechowywania i przetwarzania dużych zestawów danych na klastrach maszyn. Wykorzystuje HDFS do przechowywania swoich danych i przetwarzania tych danych za pomocą MapReduce. Jest to ekosystem narzędzi dużych zbiorów danych, które są używane przede wszystkim do eksploracji danych i uczenia maszynowego. Ma cztery główne elementy, takie jak Hadoop Common, HDFS, przędza i MapReduce.
W tym przewodniku wyjaśnimy, jak zainstalować Apache Hadoop w RHEL/CENTOS 8.
Krok 1 - Wyłącz Selinux
Przed rozpoczęciem dobrej pomysłu jest wyłączenie Selinux w systemie.
Aby wyłączyć Selinux, otwórz plik/etc/selinux/config:
nano/etc/selinux/config
Zmień następujący wiersz:
SELINUX = wyłączony
Zapisz plik po zakończeniu. Następnie uruchom ponownie system, aby zastosować zmiany Selinux.
Krok 2 - Zainstaluj Java
Hadoop jest napisany w Javie i obsługuje tylko Java w wersji 8. Możesz zainstalować OpenJDK 8 i ANT za pomocą polecenia DNF, jak pokazano poniżej:
DNF Zainstaluj Java-1.8.0 -OPENJDK ANT -Y
Po zainstalowaniu zweryfikuj zainstalowaną wersję Java za pomocą następującego polecenia:
Java -version
Powinieneś uzyskać następujące dane wyjściowe:
Wersja OpenJdk "1.8.0_232 "Środowisko środowiska wykonawczego Openjdk (kompilacja 1.8.0_232-B09) VM Server OpenJDK 64-bitowy (kompilacja 25.232-B09, tryb mieszany)
Krok 3 - Utwórz użytkownika Hadoop
Dobrym pomysłem jest utworzenie osobnego użytkownika, aby uruchomić Hadoop ze względów bezpieczeństwa.
Uruchom następujące polecenie, aby utworzyć nowego użytkownika o nazwie Hadoop:
UserAdd Hadoop
Następnie ustaw hasło dla tego użytkownika za pomocą następującego polecenia:
Passwd Hadoop
Podaj i potwierdź nowe hasło, jak pokazano poniżej:
Zmiana hasła dla użytkownika Hadoop. Nowe hasło: Ponownie przestawić nowe hasło: Passwd: Wszystkie tokeny uwierzytelniania zostały pomyślnie zaktualizowane.
Krok 4 - Skonfiguruj uwierzytelnianie oparte na klawiszach SSH
Następnie musisz skonfigurować uwierzytelnianie SSH bez hasła dla systemu lokalnego.
Najpierw zmień użytkownika na Hadoop za pomocą następującego polecenia:
Su - Hadoop
Następnie uruchom następujące polecenie, aby wygenerować pary kluczy publicznych i prywatnych:
SSH -KEYGEN -T RSA
Zostaniesz poproszony o wprowadzenie nazwy pliku. Po prostu naciśnij Enter, aby ukończyć proces:
Generowanie publicznej/prywatnej pary kluczy RSA. Wprowadź plik, w którym można zapisać klucz (/home/hadoop/.SSH/ID_RSA): Utworzono katalog '/home/hadoop/.ssh '. Wprowadź hasło (pusta dla braku hasła): Wprowadź ponownie tę samą hasło: Twoja identyfikacja została zapisana w/home/hadoop/.ssh/id_rsa. Twój klucz publiczny został zapisany w/Home/Hadoop/.ssh/id_rsa.pub. Kluczowy odcisk palca to: SHA256: A/OG+N3CNBSSYEE1ULKK95GYS0POOC0DVJ+YH1DFZPF8 [E-mail chroniony] Losowy obraz klucza to:+--- [RSA 2048] ----+| |. |. |. | . |. | . O O O | |… O S O O | |. o = + o o . |. | o * o = b = . |. |. + O.O.O + + . |. |. +=*ob.+ o e | +---- [SHA256]-----+
Następnie dołącz wygenerowane klucze publiczne z ID_RSA.pub do autoryzowanych_keysów i ustal właściwe pozwolenie:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/autoryzowane_keys chmod 640 ~/.ssh/autoryzowane_keys
Następnie sprawdź uwierzytelnianie SSH bez hasła za pomocą następującego polecenia:
SSH Localhost
Zostaniesz poproszony o uwierzytelnienie hostów poprzez dodanie kluczy RSA do znanych hostów. Wpisz tak i naciśnij Enter, aby uwierzytelnić Host Local:
Autentyczność gospodarza „LocalHost (:: 1) nie można ustalić. Kluczowy odcisk palca ECDSA to SHA256: 0YR1KDGU44AKG43PHN2GENUZSVRJBBPJAT3BWRDR3MW. Czy na pewno chcesz kontynuować łączenie (tak/nie)? Tak Ostrzeżenie: na stałe dodane „LocalHost” (ECDSA) do listy znanych gospodarzy. Aktywuj konsolę internetową za pomocą: Systemctl Enable -Kokpit.Gniazdo Ostatnie logowanie: sob. 1 lutego 02:48:55 2020 [[e -mail chroniony] ~] $
Krok 5 - Zainstaluj Hadoop
Najpierw zmień użytkownika na Hadoop za pomocą następującego polecenia:
Su - Hadoop
Następnie pobierz najnowszą wersję Hadoop za pomocą polecenia WGET:
wget http: // apachemirror.Wuchna.com/hadoop/common/hadoop-3.2.1/Hadoop-3.2.1.smoła.GZ
Po pobraniu wyodrębnij pobrany plik:
TAR -xVZF HADOOP -3.2.1.smoła.GZ
Następnie zmień nazwę wyodrębnionego katalogu Hadoop:
MV Hadoop-3.2.1 Hadoop
Następnie będziesz musiał skonfigurować zmienne środowiskowe Hadoop i Java w systemie.
Otwórz ~/.plik bashrc w ulubionym edytorze tekstu:
nano ~/.Bashrc
Dodaj następujące wiersze:
Eksport java_home =/usr/lib/jvm/jre-1.8.0-Openjdk-1.8.0.232.B09-2.EL8_1.x86_64/eksport hadoop_home =/home/hadoop/hadoop eksport hadoop_install = $ hadoop_home eksport hadoop_mapred_home = $ hadoop_home export hadoop_common_home = $ hadoop_home eksport hadoop_hdfs_home = $ hadoop_home export hadoop_yarn_home = $ hadoop_hhep_home export hadesport_port_port_port_port_port_port_port_port_port_pos_port_pos_phoM_COMON. : $ Hadoop_home/sbin: $ hadoop_home/bin eksport hadoop_opts = "-djava.biblioteka.ścieżka = $ hadoop_home/lib/Native "
Zapisz i zamknij plik. Następnie aktywuj zmienne środowiskowe za pomocą następującego polecenia:
Źródło ~/.Bashrc
Następnie otwórz plik zmiennej środowiska Hadoop:
nano $ hadoop_home/etc/hadoop/hadoop-env.cii
Zaktualizuj zmienną java_home zgodnie z ścieżką instalacyjną Java:
Eksport java_home =/usr/lib/jvm/jre-1.8.0-Openjdk-1.8.0.232.B09-2.EL8_1.x86_64/
Zapisz i zamknij plik po zakończeniu.
Krok 6 - Skonfiguruj Hadoop
Najpierw musisz utworzyć katalogi Namenode i Datanode w katalogu Hadoop Home:
Uruchom następujące polecenie, aby utworzyć oba katalogi:
mkdir -p ~/hadoopdata/hdfs/namenode mkdir -p ~/hadoopdata/hdfs/datanode
Następnie edytuj Site Core.XML PLIK I Aktualizuj nazwę hosta systemu:
nano $ hadoop_home/etc/hadoop/rdzeń.XML
Zmień następującą nazwę zgodnie z nazwą hosta systemu:
fs.Defaultfs hdfs: // hadoop.tecadmin.com: 9000123456 | fs.Defaultfs hdfs: // hadoop.tecadmin.com: 9000 |
Zapisz i zamknij plik. Następnie edytuj Site HDFS.XML plik:
nano $ hadoop_home/etc/hadoop/hdfs-witryna.XML
Zmień ścieżkę katalogu Namenode i Datanode, jak pokazano poniżej:
DFS.Replikacja 1 DFS.nazwa.Dir Plik: /// home/hadoop/hadoopdata/hdfs/namenode dfs.dane.Plik dir: /// home/hadoop/hadoopdata/hdfs/dataanode1234567891011121314151617 | DFS.Replikacja 1 DFS.nazwa.Dir Plik: /// home/hadoop/hadoopdata/hdfs/namenode dfs.dane.Plik dir: /// home/hadoop/hadoopdata/hdfs/dataanode |
Zapisz i zamknij plik. Następnie edytuj Mapred.XML plik:
nano $ hadoop_home/etc/hadoop/mapred.XML
Dokonaj następujących zmian:
MapReduce.struktura.Imię Parn123456 | MapReduce.struktura.Imię Parn |
Zapisz i zamknij plik. Następnie edytuj strona przędzy.XML plik:
nano $ hadoop_home/etc/hadoop/przędza.XML
Dokonaj następujących zmian:
przędza.Nodemanager.Aux-Services MAPREDUCE_SHUFLE123456 | przędza.Nodemanager.Aux-Services MAPREDUCE_SHUFLE |
Zapisz i zamknij plik po zakończeniu.
Krok 7 - Rozpocznij klaster Hadoop
Przed rozpoczęciem klastra Hadoop. Będziesz musiał sformatować nazwy jako użytkownik Hadoop.
Uruchom następujące polecenie, aby sformatować nazwę hadoop:
HDFS Namenode -Format
Powinieneś uzyskać następujące dane wyjściowe:
2020-02-05 03: 10: 40,380 informacji Namenode.NNSTORAGERETENTENT MANAGER: Zachowaj 1 obrazy z txid> = 0 2020-02-05 03: 10: 40,389 Info Namenode.FSIMAGE: FSIMAGESAVER CZYSTA Punkt kontrolny: TXID = 0 Po zamknięciu. 2020-02-05 03: 10: 40 389 Info Namenode.Namenode: supdown_msg: /*********************************************** ***************.tecadmin.com/45.58.38.202 *************************************************** ***********/
Po utworzeniu nazwy, uruchom następujące polecenie, aby uruchomić klaster Hadoop:
start-DFS.cii
Gdy HDFS zaczął pomyślnie, powinieneś uzyskać następujące dane wyjściowe:
Rozpoczynając nazwy na [Hadoop.tecadmin.com] hadoop.tecadmin.com: Ostrzeżenie: stale dodane „hadoop.tecadmin.Com, Fe80 :: 200: 2dff: Fe3a: 26CA%ETH0 '(ECDSA) do listy znanych gospodarzy. Rozpoczęcie datanodów Rozpoczynając wtórne nazwy [Hadoop.tecadmin.com]
Następnie uruchom usługę przędzy, jak pokazano poniżej:
Start-Yarn.cii
Powinieneś uzyskać następujące dane wyjściowe:
Początek ResourceManager Początkowa godemanagers
Możesz teraz sprawdzić status wszystkich usług Hadoop za pomocą polecenia JPS:
JPS
Powinieneś zobaczyć wszystkie uruchomione usługi przy następujących wyjściach:
7987 DataNode 9606 JPS 8183 SecondaryNamenode 8570 NodeManager 8445 ResourceManager 7870 Namenode
Krok 8 - Skonfiguruj zaporę ogniową
Hadoop jest teraz uruchamiany i słuchał na porcie 9870 i 8088. Następnie będziesz musiał zezwolić na te porty przez zaporę ogniową.
Uruchom następujące polecenie, aby umożliwić połączenia Hadoop za pośrednictwem zapory:
Firewall-CMD --Permanent --add-port = 9870/TCP Firewall-CMD --Permanent --add-port = 8088/tcp
Następnie ponownie załaduj usługę zapory, aby zastosować zmiany:
Firewall-CMD-RELOOD
Krok 9 - Access Hadoop Namenode and Resource Manager
Aby uzyskać dostęp do nazwy, otwórz przeglądarkę internetową i odwiedź adres URL http: // Your-Server-IP: 9870. Powinieneś zobaczyć następujący ekran:
Aby uzyskać dostęp do zasobów, otwórz przeglądarkę internetową i odwiedź adres URL http: // Your-Server-IP: 8088. Powinieneś zobaczyć następujący ekran:
Krok 10 - Sprawdź klaster Hadoop
W tym momencie klaster Hadoop jest zainstalowany i konfigurowany. Następnie utworzymy niektóre katalogi w systemie plików HDFS, aby przetestować Hadoop.
Utwórzmy katalog w systemie plików HDFS za pomocą następującego polecenia:
HDFS DFS -MKDIR /TEST1 HDFS DFS -MKDIR /TEST2
Następnie uruchom następujące polecenie, aby wymienić powyższy katalog:
HDFS DFS -LS /
Powinieneś uzyskać następujące dane wyjściowe:
Znaleziono 2 pozycje DRWXR-XR-X-Hadoop Supergroup 0 2020-02-05 03:25 /test1 Drwxr-Xr-X-Hadoop Supergroup 0 2020-02-05 03:35 /TEST2
Możesz także zweryfikować powyższy katalog w interfejsie internetowym Hadoop Namenode.
Przejdź do interfejsu internetowego Namenode, kliknij narzędzia => Przeglądaj system plików. Powinieneś zobaczyć swoje katalogi, które stworzyłeś wcześniej na poniższym ekranie:
Krok 11 - Zatrzymaj klaster Hadoop
Możesz także zatrzymać usługę nazwy i przędzy Hadoop w dowolnym momencie, uruchamiając stop-DFS.cii I Stop-Yarn.cii skrypt jako użytkownik Hadoop.
Aby zatrzymać usługę Namenode Hadoop, uruchom następujące polecenie jako użytkownik Hadoop:
stop-DFS.cii
Aby zatrzymać usługę Hadoop Resource Manager, uruchom następujące polecenie:
Stop-Yarn.cii
Wniosek
W powyższym samouczku nauczyłeś się skonfigurować klaster pojedynczego węzła Hadoop w Centos 8. Mam nadzieję, że masz teraz wystarczającą wiedzę, aby zainstalować hadoop w środowisku produkcyjnym.