Le framework Apache Hadoop

Utilisation d'Hadoop en mode Pseudo-distribué

 




Intéret du mode pseudo-distribué

Le mode pseudo-distribué va nous permettre de tester l'exécution d'une tâche MapReduce sur une seule machine, mais en simulant le fonctionnement d'un cluster Hadoop. La tâche sera exéctuée sur le poste et les opérations de stockage et d'exécution du job seront gérées dans des processus Java différents.

L'objectif est de tester le bon fonctionnement d'une tâche sans avoir à mobiliser les ressources d'un cluster entier.

 

Configuration

Dans le cadre du mode pseudo-distribué, il nous faut configurer les fichiers core-site.xml et mapred-site.xml pour paramétrer les rôles de NameNode et de JobTracker :

conf/core-site.xml:


                <configuration>
                    <property>
                        <name>fs.default.name</name>
                        <value>hdfs://localhost:9000</value>
                    </property>
                </configuration>
            

conf/mapred-site.xml:


                <configuration>
                    <property>
                        <name>mapred.job.tracker</name>
                        <value>localhost:9001</value>
                    </property>
                </configuration>
            

Le fichier conf/masters nous permet de définir la liste les noms d'hôtes des machines maîtres de l'architecture. Dans le cadre du mode pseudo-distribué, notre seul noeud maître est notre machine locale. Son contenu est donc :

                localhost
            

De la même manière, il existe un fichier conf/slaves permettant de lister les noeuds esclaves. En pseudo-distribué, il contient également le nom d'hôte de la machine locale.

Nous pouvons donc tester l'exécution d'un job MapReduce, toujours de la même manière, avec la commande bin/hadoop jar [jar_file] input/ output/. Cependant, cette fois ci, la configuration que nous avons effectué exécutera le job en mode pseudo-distribué, en simulant le fonctionnement distribué d'Hadoop.