GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So richten Sie Hadoop Multi-Node-Cluster unter Ubuntu ein

In diesem Tutorial lernen wir, wie man einen Hadoop-Cluster mit mehreren Knoten unter Ubuntu 16.04 einrichtet. Ein Hadoop-Cluster mit mehr als einem Datenknoten ist ein Hadoop-Cluster mit mehreren Knoten, daher ist es das Ziel dieses Tutorials, zwei Datenknoten zum Laufen zu bringen.

1) Voraussetzungen

  • Ubuntu 16.04
  • Hadoop-2.7.3
  • Java 7
  • SSH

Für dieses Tutorial habe ich zwei Ubuntu 16.04 Systeme, ich nenne sie Master und Sklave System läuft auf jedem System ein Datenknoten.

IP-Adresse von Master -> 192.168.1.37

IP-Adresse von Slave -> 192.168.1.38

Auf Meister

Hostdatei mit Master- und Slave-IP-Adresse bearbeiten.

sudo gedit /etc/hosts

Bearbeiten Sie die Datei wie unten, Sie können andere Zeilen in der Datei entfernen. Speichern Sie die Datei nach der Bearbeitung und schließen Sie sie.

Auf Sklave

Hostdatei mit Master- und Slave-IP-Adresse bearbeiten.

sudo gedit /etc/hosts

Bearbeiten Sie die Datei wie unten, Sie können andere Zeilen in der Datei entfernen. Speichern Sie die Datei nach der Bearbeitung und schließen Sie sie.

2) Java-Installation

Bevor Sie Hadoop einrichten, müssen Sie Java auf Ihren Systemen installiert haben. Installieren Sie Open JDK 7 auf beiden Ubuntu-Rechnern mit den folgenden Befehlen.

sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
do apt-get install openjdk-7-jdk

Führen Sie den folgenden Befehl aus, um zu sehen, ob Java auf Ihrem System installiert wurde.

java -version

Standardmäßig wird Java unter /usr/lib/jvm/ gespeichert Verzeichnis.

ls /usr/lib/jvm

Legen Sie den Java-Pfad in .bashrc fest Datei.

sudo gedit .bashrc

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

export PATH=$PATH:/usr/lib/jvm/java-7-openjdk-amd64/bin

Führen Sie den folgenden Befehl aus, um die in der .bashrc-Datei vorgenommenen Änderungen zu aktualisieren.

source .bashrc

3) SSH

Hadoop benötigt SSH-Zugriff, um seine Knoten zu verwalten, daher müssen wir SSH sowohl auf Master- als auch auf Slave-Systemen installieren.

sudo apt-get install openssh-server</pre


Now, we have to generate an SSH key on master machine. When it asks you to enter a file name to save the key, do not give any name, just press enter.
ssh-keygen -t rsa -P ""

Zweitens müssen Sie mit diesem neu erstellten Schlüssel den SSH-Zugriff auf Ihren Master-Computer aktivieren.

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

Testen Sie nun die SSH-Einrichtung, indem Sie sich mit Ihrem lokalen Computer verbinden.

ssh localhost

Führen Sie nun den folgenden Befehl aus, um den auf dem Master generierten öffentlichen Schlüssel an den Slave zu senden.

ssh-copy-id -i $HOME/.ssh/id_rsa.pub ubuntu@slave

Jetzt, da sowohl Master als auch Slave den öffentlichen Schlüssel haben, können Sie auch Master mit Master und Master mit Slave verbinden.

ssh master
ssh slave

Auf Meister

Bearbeiten Sie die Masterdatei wie folgt.

sudo gedit hadoop-2.7.3/etc/hadoop/masters

Bearbeiten Sie die Slaves-Datei wie folgt.

sudo gedit hadoop-2.7.3/etc/hadoop/slaves

Auf Sklave

Bearbeiten Sie die Masterdatei wie folgt.

sudo gedit hadoop-2.7.3/etc/hadoop/masters

4) Hadoop-Installation

Jetzt haben wir unser Java- und SSH-Setup fertig. Wir können loslegen und Hadoop auf beiden Systemen installieren. Verwenden Sie den folgenden Link, um das Hadoop-Paket herunterzuladen. Ich verwende die neueste stabile Version hadoop 2.7.3

http://hadoop.apache.org/releases.html

Auf Meister

Der folgende Befehl lädt hadoop-2.7.3 herunter tar-Datei.

wget https://archive.apache.org/dist/hadoop/core/hadoop-2.7.3/hadoop-2.7.3.tar.gz
ls

Entpacken Sie die Datei

tar -xvf hadoop-2.7.3.tar.gz
ls

Bestätigen Sie, dass Hadoop auf Ihrem System installiert wurde.

cd hadoop-2.7.3/
bin/hadoop-2.7.3/

Bevor wir Konfigurationen für Hadoop festlegen, werden wir die folgenden Umgebungsvariablen in der .bashrc-Datei festlegen.

cd
sudo gedit .bashrc

Hadoop-Umgebungsvariablen

# Set Hadoop-related environment variables 

 

export HADOOP_HOME=$HOME/hadoop-2.7.3

export HADOOP_CONF_DIR=$HOME/hadoop-2.7.3/etc/hadoop

export HADOOP_MAPRED_HOME=$HOME/hadoop-2.7.3 

export HADOOP_COMMON_HOME=$HOME/hadoop-2.7.3 

export HADOOP_HDFS_HOME=$HOME/hadoop-2.7.3

export YARN_HOME=$HOME/hadoop-2.7.3

# Add Hadoop bin/ directory to PATH 

export PATH=$PATH:$HOME/hadoop-2.7.3/bin

Fügen Sie die folgenden Zeilen am Ende Ihrer .bashrc ein Datei, speichern Sie die Datei und schließen Sie sie.

source .bashrc

Konfigurieren Sie JAVA_HOME in ‘hadoop-env.sh’ . Diese Datei gibt Umgebungsvariablen an, die sich auf das JDK auswirken, das von Apache Hadoop 2.7.3-Daemons verwendet wird, die von den Hadoop-Startskripts gestartet werden:

cd hadoop-2.7.3/etc/hadoop/
sudo gedit hadoop-env.sh

Export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

Stellen Sie den Java-Pfad wie oben gezeigt ein, speichern Sie die Datei und schließen Sie sie.

Jetzt erstellen wir NameNode und DataNode Verzeichnisse.

cd

mkdir -p $HADOOP_HOME/hadoop2_data/hdfs/namenode

mkdir -p $HADOOP_HOME/hadoop2_data/hdfs/datanode

Hadoop verfügt über viele Konfigurationsdateien, die gemäß den Anforderungen Ihrer Hadoop-Infrastruktur konfiguriert werden müssen. Lassen Sie uns die Hadoop-Konfigurationsdateien einzeln konfigurieren.

cd hadoop-2.7.3/etc/hadoop/

sudo gedit core-site.xml

Core-site.xml

<configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://master:9000</value>

</property>

</configuration>
sudo gedit hdfs-site.xml

hdfs-site.xml

<configuration>

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

<property>

<name>dfs.permissions</name>

<value>false</value>

</property>

<property>

<name>dfs.namenode.name.dir</name>

<value>/home/ubuntu/hadoop-2.7.3/hadoop2_data/hdfs/namenode</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>/home/ubuntu/hadoop-2.7.3/hadoop2_data/hdfs/datanode</value>

</property>

</configuration>
sudo gedit yarn-site.xml

yarn-site.xml

<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>

</configuration>
cp mapred-site.xml.template mapred-site.xml

sudo gedit mapred-site.xml

mapred-site.xml

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

</configuration>

Befolgen Sie nun die gleichen Hadoop-Installations- und Konfigurationsschritte auch auf dem Slave-Computer. Nachdem Sie Hadoop auf beiden Systemen installiert und konfiguriert haben, müssen Sie beim Starten Ihres Hadoop-Clusters zuerst formatieren das hadoop-Dateisystem , das auf den lokalen Dateisystemen Ihres Clusters implementiert wird. Dies ist bei der erstmaligen Hadoop-Installation erforderlich. Formatieren Sie kein laufendes Hadoop-Dateisystem, dadurch werden alle Ihre HDFS-Daten gelöscht.

Auf Meister

cd

cd hadoop-2.7.3/bin

hadoop namenode -format

Wir sind jetzt bereit, die Hadoop-Daemons zu starten, d. h. NameNode, DataNode, ResourceManager und NodeManager auf unserem Apache Hadoop Cluster.

cd ..

Führen Sie nun den folgenden Befehl aus, um NameNode auf dem Master-Computer und DataNodes auf Master und Slave zu starten.

sbin/start-dfs.sh

Der folgende Befehl startet YARN-Daemons, ResourceManager wird auf Master ausgeführt und NodeManagers werden auf Master und Slave ausgeführt.

sbin/start-yarn.sh

Überprüfen Sie mit JPS (Java Process Monitoring Tool), ob alle Dienste korrekt gestartet wurden. sowohl auf dem Master- als auch auf dem Slave-Rechner.

Unten sind die Daemons aufgeführt, die auf dem Master-Rechner laufen.

jps

Auf Sklave

Sie werden sehen, dass DataNode und NodeManager auch auf dem Slave-Rechner laufen.

jps

Öffnen Sie nun Ihren Mozilla-Browser auf dem Master-Rechner und gehen Sie zur folgenden URL

Überprüfen Sie den NameNode-Status:http://master:50070/dfshealth.html

Wenn Sie '2' sehen in Live-Knoten , das bedeutet 2 DataNodes sind betriebsbereit und Sie haben erfolgreich einen Hadoop-Culster mit mehreren Knoten eingerichtet.

Schlussfolgerung

Sie können Ihrem Hadoop-Cluster weitere Knoten hinzufügen. Sie müssen lediglich die neue Slave-Knoten-IP zur Slave-Datei auf dem Master hinzufügen, den SSH-Schlüssel auf den neuen Slave-Knoten kopieren, die Master-IP in die Master-Datei auf dem neuen Slave-Knoten einfügen und dann neu starten Hadoop-Dienste. Herzliche Glückwünsche!! Sie haben erfolgreich einen Hadoop-Cluster mit mehreren Knoten eingerichtet.


Ubuntu
  1. So fügen Sie eine Auslagerungsdatei unter Ubuntu hinzu

  2. So richten Sie den MariaDB Galera-Cluster unter Ubuntu 20.04 ein

  3. So richten Sie HAProxy in Ubuntu 16.04 ein

  4. So führen Sie das Hadoop MapReduce-Programm unter Ubuntu 16.04 aus

  5. So richten Sie die UFW-Firewall unter Ubuntu 18.04 ein

So richten Sie die Cassandra-Replikation unter Ubuntu 16.04 ein

So richten Sie die CouchDB-Replikation unter Ubuntu 16.04 ein

So richten Sie osquery ein, um Sicherheitsbedrohungen auf Ubuntu zu überwachen

So richten Sie den Samba-Dateifreigabeserver unter Ubuntu ein

So richten Sie OpenVPN auf Ubuntu Server ein

So löschen Sie eine Datei in Ubuntu