Jak zainstalować i skonfigurować Hadoop na CentOS/RHEL 8

Jak zainstalować i skonfigurować Hadoop na CentOS/RHEL 8

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: 9000
123456 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/dataanode
1234567891011121314151617 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ę Parn
123456 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_SHUFLE
123456 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.