Configuration en mode pseudo-distribué
Dans la plupart des cas, Hadoop est utilisé dans un environnement en grappe, c'est-à-dire que nous devons déployer Hadoop sur plusieurs nœuds. En même temps, Hadoop peut également fonctionner sur un seul nœud en mode pseudo-distribué, simulant des scénarios multi-nœuds grâce à plusieurs processus Java indépendants. Dans la phase initiale d'apprentissage, il n'est pas nécessaire de consacrer beaucoup de ressources pour créer différents nœuds. Ainsi, dans cette section et dans les chapitres suivants, nous utiliserons principalement le mode pseudo-distribué pour le déploiement du "cluster" Hadoop.
Création de répertoires
Pour commencer, créez les répertoires namenode
et datanode
dans le répertoire personnel de l'utilisateur Hadoop. Exécutez la commande ci-dessous pour créer ces répertoires :
rm -rf ~/hadoopdata
mkdir -p ~/hadoopdata/hdfs/{namenode,datanode}
Ensuite, vous devez modifier les fichiers de configuration d'Hadoop pour qu'il fonctionne en mode pseudo-distribué.
Édition de core-site.xml
Ouvrez le fichier core-site.xml
avec un éditeur de texte dans le terminal :
vim /home/hadoop/hadoop/etc/hadoop/core-site.xml
Dans le fichier de configuration, modifiez la valeur de la balise configuration
pour qu'elle soit la suivante :
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
L'élément de configuration fs.defaultFS
est utilisé pour indiquer l'emplacement du système de fichiers utilisé par défaut par le cluster :
Enregistrez le fichier et quittez vim
après édition.
Édition de hdfs-site.xml
Ouvrez un autre fichier de configuration hdfs-site.xml
:
vim /home/hadoop/hadoop/etc/hadoop/hdfs-site.xml
Dans le fichier de configuration, modifiez la valeur de la balise configuration
pour qu'elle soit la suivante :
<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>
Cet élément de configuration est utilisé pour indiquer le nombre de copies de fichiers dans HDFS, qui est 3
par défaut. Puisque nous l'avons déployé de manière pseudo-distribuée sur un seul nœud, il est modifié en 1
:
Enregistrez le fichier et quittez vim
après édition.
Édition de hadoop-env.sh
Ensuite, éditez le fichier hadoop-env.sh
:
vim /home/hadoop/hadoop/etc/hadoop/hadoop-env.sh
Changez la valeur de JAVA_HOME
pour le lieu réel de l'installation du JDK, c'est-à-dire /usr/lib/jvm/java-11-openjdk-amd64
.
Remarque : Vous pouvez utiliser la commande echo $JAVA_HOME
pour vérifier le lieu réel de l'installation du JDK.
Enregistrez le fichier et quittez l'éditeur vim
après édition.
Édition de yarn-site.xml
Ensuite, éditez le fichier yarn-site.xml
:
vim /home/hadoop/hadoop/etc/hadoop/yarn-site.xml
Ajoutez le code suivant à la balise configuration
:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
Enregistrez le fichier et quittez l'éditeur vim
après édition.
Édition de mapred-site.xml
Enfin, vous devez éditer le fichier mapred-site.xml
.
Ouvrez le fichier avec l'éditeur vim
:
vim /home/hadoop/hadoop/etc/hadoop/mapred-site.xml
De même, ajoutez le code suivant à la balise configuration
:
<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>
Enregistrez le fichier et quittez l'éditeur vim
après édition.