
Tutoriel installation Hadoop multi node
Dans ce tutoriel, on va voir comment installer un Hadoop multi node en suivant les étapes suivantes :
Étape1: Assurez vous que Hadoop est installé single node sur tous les ordinateurs (masters+ slaves)
Si vous ne l’avez pas installer, vous pouvez utilisez ce lien pour le faire
Étape 2: Configurez maintenant les ordinateurs pour qu’ils fonctionnent sur un cluster à multi node
À titre d’exemple, on va utiliser deux slaves et un master:
Ajoutez tous les noms d’hôtes au répertoire / etc / hosts de tous les ordinateurs (Master et Slave nodes)
1 |
sudo gedit /etc/hosts |
#Ajoutez le hostname suivant et son adresse IP dans la table host
Supposons que votre adresse slave soit: 192.168.0.151 et 192.168.0.152. Et l’adresse master est: 192.168.0.150
1 2 3 |
192.168.0.150 HadoopMaster 192.168.0.151 HadoopSlave1 192.168.0.152 HadoopSlave2 |
Connectez-vous avec hduser, puis installez rsync et redémarrez le pc
1 2 |
sudo apt-get install rsync sudo reboot |
Faisons maintenant la configuration commune à tous les nodes (slaves+master)
1-## Modifier core-site.xml:
1 2 |
cd /usr/local/hadoop/etc/hadoop sudo gedit core-site.xml |
## Coller ces lignes dans la balise<configuration> OU il suffit de la mettre à jour en remplaçant localhost par master
1 2 3 4 |
<property> <name>fs.default.name</name> <value>hdfs://HadoopMaster:9000</value> </property> |
2-## Mise à jour hdfs-site.xml
Mettez à jour ce fichier en mettant à jour le facteur de réplication de 1 à 3.
1 2 |
cd /usr/local/hadoop/etc/hadoop sudo gedit hdfs-site.xml |
Puis collez / mettez à jour ces lignes dans la balise <configuration>
1 2 3 4 |
<property> <name>dfs.replication</name> <value>3</value> </property> |
3- Mise à jour yarn-site.xml
Mettez à jour ce fichier en mettant à jour les trois propriétés suivantes le namehost de localhost vers HadoopMaster
1 2 |
cd /usr/local/hadoop/etc/hadoop sudo gedit yarn-site.xml |
Puis collez / mettez à jour ces lignes dans la balise <configuration>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>HadoopMaster:8025</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>HadoopMaster:8035</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>HadoopMaster:8050</value> </property> |
4- Mise à jour Mapred-site.xml
1 2 |
cd /usr/local/hadoop/etc/hadoop sudo gedit mapred-site.xml |
Puis collez / mettez à jour ces lignes dans la balise <configuration>
1 2 3 4 5 6 7 8 9 |
<property> <name>mapreduce.job.tracker</name> <value>HadoopMaster:5431</value> </property> <property> <name>mapred.framework.name</name> <value>yarn</value> </property> |
5-Mise à jour fichier Master
1 2 |
cd /usr/local/hadoop/etc/hadoop sudo gedit masters |
Ajoutez ensuite le nom du master node
1 |
HadoopMaster |
6- Mise à jour slaves
1 2 |
cd /usr/local/hadoop/etc/hadoop sudo gedit slaves |
Ajoutez ensuite le nom slave node
1 2 |
HadoopSlave1 HadoopSlave2 |
Application de la configuration Hadoop spécifique au node master: (uniquement pour les nodes master)
1-Supprimez le dossier Hadoop_data existant (créé lors de la configuration d’un Hadoop à un seul node)
1 |
sudo rm -rf /usr/local/hadoop_tmp/ |
2-Créez le même répertoire (/ usr / local / hadoop_tmp / hdfs) et créez le répertoire NameNode (/ usr / local / hadoop_tmp / hdfs / namenode)
1 2 |
sudo mkdir -p /usr/local/hadoop_tmp/ sudo mkdir -p /usr/local/hadoop_tmp/hdfs/namenode |
3- Faites de l’utilisateur le propriétaire de ce répertoire
1 |
sudo chown hduser:hadoop -R /usr/local/hadoop_tmp/ |
Passant à la configuration SSH:
Dans le master node, lancer la commande suivante pour partager la clé publique SSH ~ / .ssh / id_rsa.pub ( du node master de Hadoop) vers le fichier allowed_keys de hduser @ HadoopSlave1 et également sur hduser @ HadoopSlave1 (dans $ HOME / .ssh / allowed_keys)
1 2 3 |
cd ssh-copy-id -i $HOME/.ssh/id_rsa.pub hduser@HadoopSlave1 ssh-copy-id -i $HOME/.ssh/id_rsa.pub hduser@HadoopSlave2 |
Formons maintenant le namenode (Run on MasterNode):
# Exécuter cette commande depuis le Masternode
1 |
hdfs namenode -format |
Démarrage des démons de cluster Hadoop: (Exécuter sur MasterNode)
Démarrez les démons HDFS:
1 |
start-dfs.sh |
Démarrez les démons de fil:
1 |
start-yarn.sh |
Suivez / surveillez / vérifiez le cluster Hadoop: (exécuté sur n’importe quel node)
Vérifiez les démons Hadoop dans le master
1 |
jps |
vous devriez voir seulement
1 2 3 4 |
jps namenode secondary namenode resource manager |
Vérifiez les démons Hadoop sur tous les nodes slaves:
1 |
jps |
1 2 3 |
jps NodeManager DataNode |
à voir sur le web:
Pour ResourceManager Http://HadoopMaster: 8088
Pour NameNode Http://HadoopMaster: 50070
Exécutez un exemple de comptage de mots:
dans le masternode (toujours, les clients ne doivent parler qu’au masternode):
1 2 3 |
hdfs dfs -mkdir /test/ hdfs dfs -copyFromLocal wordCountinput.txt /test/ hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar wordcount /test/wordCountinput.txt /test/output/ |