Pseudo-Distributed-Muster-Konfiguration
In den meisten Fällen wird Hadoop in einem clusterbasierten Umfeld eingesetzt, d.h., wir müssen Hadoop auf mehreren Knoten bereitstellen. Gleichzeitig kann Hadoop auch im pseudo-verteilten Muster auf einem einzelnen Knoten ausgeführt werden, indem mehrere unabhängige Java-Prozesse multi-Knoten-Szenarien simulieren. Im Anfangsstadium des Lernens ist es nicht erforderlich, viele Ressourcen aufzuwenden, um verschiedene Knoten zu erstellen. Deshalb werden in diesem Abschnitt und in den folgenden Kapiteln hauptsächlich das pseudo-verteilte Muster für die Hadoop-„Cluster“-Bereitstellung verwendet.
Verzeichnisse erstellen
Zunächst erstellen Sie die Verzeichnisse namenode
und datanode
im Home-Verzeichnis des Hadoop-Benutzers. Führen Sie den folgenden Befehl aus, um diese Verzeichnisse zu erstellen:
rm -rf ~/hadoopdata
mkdir -p ~/hadoopdata/hdfs/{namenode,datanode}
Anschließend müssen Sie die Konfigurationsdateien von Hadoop bearbeiten, um es im pseudo-verteilten Muster auszuführen.
core-site.xml
bearbeiten
Öffnen Sie die Datei core-site.xml
mit einem Texteditor im Terminal:
vim /home/hadoop/hadoop/etc/hadoop/core-site.xml
Ändern Sie im Konfigurationsfile den Wert des configuration
-Tags in den folgenden Inhalt:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
Der fs.defaultFS
-Konfigurationsparameter wird verwendet, um den Standort des Dateisystems anzugeben, das der Cluster standardmäßig verwendet:
Speichern Sie die Datei und beenden Sie vim
nach der Bearbeitung.
hdfs-site.xml
bearbeiten
Öffnen Sie eine weitere Konfigurationsdatei hdfs-site.xml
:
vim /home/hadoop/hadoop/etc/hadoop/hdfs-site.xml
Ändern Sie im Konfigurationsfile den Wert des configuration
-Tags wie folgt:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>file:///home/hadoop/hadoopdata/hdfs/namenode</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>file:///home/hadoop/hadoopdata/hdfs/datanode</value>
</property>
</configuration>
Dieser Konfigurationsparameter wird verwendet, um die Anzahl der Dateikopien in HDFS anzugeben, die standardmäßig 3
beträgt. Da wir es in pseudo-verteilter Weise auf einem einzelnen Knoten bereitgestellt haben, wird es auf 1
更改为:
Speichern Sie die Datei und beenden Sie vim
nach der Bearbeitung.
hadoop-env.sh
bearbeiten
Als nächstes bearbeiten Sie die Datei hadoop-env.sh
:
vim /home/hadoop/hadoop/etc/hadoop/hadoop-env.sh
Ändern Sie den Wert von JAVA_HOME
in den tatsächlichen Standort der installierten JDK, also /usr/lib/jvm/java-11-openjdk-amd64
.
Hinweis: Sie können den Befehl echo $JAVA_HOME
verwenden, um den tatsächlichen Standort der installierten JDK zu überprüfen.
Speichern Sie die Datei und beenden Sie den vim
-Editor nach der Bearbeitung.
yarn-site.xml
bearbeiten
Als nächstes bearbeiten Sie die Datei yarn-site.xml
:
vim /home/hadoop/hadoop/etc/hadoop/yarn-site.xml
Fügen Sie dem configuration
-Tag Folgendes hinzu:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
Speichern Sie die Datei und beenden Sie den vim
-Editor nach der Bearbeitung.
mapred-site.xml
bearbeiten
Schließlich müssen Sie die Datei mapred-site.xml
bearbeiten.
Öffnen Sie die Datei mit dem vim
-Editor:
vim /home/hadoop/hadoop/etc/hadoop/mapred-site.xml
Ähnlich wie zuvor fügen Sie dem configuration
-Tag Folgendes hinzu:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=/home/hadoop/hadoop</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=/home/hadoop/hadoop</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=/home/hadoop/hadoop</value>
</property>
</configuration>
Speichern Sie die Datei und beenden Sie den vim
-Editor nach der Bearbeitung.