1. Configurer SSH
Installez les packages logiciels associés à ssh :
Copiez le code comme suit : sudo apt-get install openssh-client openssh-server
Ensuite, démarrez/arrêtez sshd à l'aide de l'une des deux commandes suivantes :
Copiez le code comme suit : sudo /etc/init.d/ssh start|stop
sudo service ssh démarrer | arrêter
Si sshd est démarré avec succès, nous pouvons voir des résultats similaires à ceux-ci :
Copiez le code comme suit : $ ps -e |
2766 ? 00:00:00 agent ssh
10558 ? 00:00:00
À ce stade, si vous exécutez la commande ssh suivante pour vous connecter à la machine, vous serez invité à saisir un mot de passe :
Copiez le code comme suit : ssh localhost
Il ne nous reste plus qu'à faire en sorte qu'il ne nécessite aucun mot de passe :
Copiez le code comme suit : $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa #Une clé SSH de mot de passe vide
$ chat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
C'est ça. Si cela ne fonctionne toujours pas, les autorisations sur le fichier de clé peuvent être mal définies.
2. Configurer Hadoop
Décompressez hadoop-1.2.1 dans ~/ et créez le répertoire hadoop-env sous ~/ Continuez à créer la structure de répertoires suivante sous hadoop-env :
├── dfs
│ ├── point de contrôle1
│ ├── données1
│ ├── données2
│ └── nom1
└── essai
└── entrée
Fichier de configuration hadoop-1.2.1/conf/core-site.xml :
Copiez le code comme suit :
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Mettez les remplacements de propriétés spécifiques au site dans ce fichier -->.
<configuration>
<propriété>
<nom>fs.default.name</nom>
<value>hdfs://localhost:9000</value>
<final>vrai</final>
</propriété>
</configuration>
fs.default.name spécifie l'URI HDFS Si aucun port n'est fourni dans la valeur, la valeur par défaut est 8020.
Fichier de configuration hadoop-1.2.1/conf/hdfs-site.xml :
Copiez le code comme suit :
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Mettez les remplacements de propriétés spécifiques au site dans ce fichier -->.
<configuration>
<propriété>
<nom>dfs.name.dir</name>
<valeur>~/hadoop-env/dfs/name1</value>
<final>vrai</final>
</propriété>
<propriété>
<nom>dfs.data.dir</nom>
<valeur>~/hadoop-env/dfs/data1,~/hadoop-env/dfs/data2</value>
<final>vrai</final>
</propriété>
<propriété>
<nom>fs.checkpoint.dir</nom>
<valeur>~/hadoop-env/dfs/checkpoint1</value>
<final>vrai</final>
</propriété>
</configuration>
dfs.name.dir spécifie le répertoire dans lequel le namenode stocke les métadonnées. Ces répertoires doivent être séparés par des virgules ; dfs.data.dir spécifie le répertoire dans lequel le datanode stocke les données. checkpoint.dir spécifie le répertoire dans lequel le nœud de nom auxiliaire stocke les points de contrôle.
Fichier de configuration hadoop-1.2.1/conf/mapred-site.xml :
Copiez le code comme suit :
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Mettez les remplacements de propriétés spécifiques au site dans ce fichier -->.
<configuration>
<propriété>
<nom>mapred.job.tracker</nom>
<value>localhost :9001</value>
<final>vrai</final>
</propriété>
</configuration>
3. Testez
Premier format HDFS :
Copiez le code comme suit : ./hadoop-1.2.1/bin/hadoop namenode -format
Démarrez les processus HDFS et MapReduce :
Copiez le code comme suit :
$ ./hadoop-1.2.1/bin/start-dfs.sh
$ ./hadoop-1.2.1/bin/start-mapred.sh
Si une erreur est signalée lors du démarrage, telle que localhost : Erreur : JAVA_HOME n'est pas défini., vous devez exporter JAVA_HOME dans le fichier ./hadoop-1.2.1/conf/hadoop-env.sh, par exemple :
exporter JAVA_HOME=~/jdk1.7.0_25
Comment vérifier s'il a démarré avec succès : La première méthode consiste à utiliser la commande jps (Java Virtual Machine Process Status Tool). Un résultat similaire à celui-ci devrait s'afficher :
Copiez le code comme suit :
$ jps
13592 nœud de données
13728 NoeudNomSecondaire
13837 Suivi des tâches
12864 NomNoeud
13955 Suivi des tâches
16069Jps
La deuxième méthode consiste à vous connecter au navigateur à l'adresse http://localhost:50030 pour afficher le jobtracker et à http://localhost:50070 pour afficher le nœud de nom. Si vous utilisez un logiciel de contournement, vous risquez d'obtenir une erreur lors de l'accès. La solution la plus simple consiste à désactiver le logiciel de contournement. Une autre façon consiste à afficher le fichier journal.
Nous créons maintenant deux fichiers dans le répertoire ~/hadoop-env/test/input :
Copiez le code comme suit :
$ echo "bonjour tout le monde" > test1.txt
$ echo "salut, monde" > test2.txt
Importez ces deux fichiers dans HDFS :
Copiez le code comme suit :
./hadoop-1.2.1/bin/hadoop dfs -put hadoop-env/test/input/output/
Vérifier:
Copiez le code comme suit :
$ ./hadoop-1.2.1/bin/hadoop dfs -ls /
Trouvé 2 articles
drwxr-xr-x - supergroupe d'utilisateurs 0 2013-10-22 22:07 /test
drwxr-xr-x - supergroupe d'utilisateurs 0 2013-10-22 21:58 /tmp
$ ./hadoop-1.2.1/bin/hadoop dfs -ls /test
Trouvé 2 articles
-rw-r--r-- Supergroupe de 3 utilisateurs 12 2013-10-22 22:07 /test/test1.txt
-rw-r--r-- Supergroupe de 3 utilisateurs 9 2013-10-22 22:07 /test/test2.txt
OK, la configuration est terminée.
Remarque : Le système utilisé dans cet article est Linux Mint 15 64 bits et Hadoop utilise la version 1.2.1.