Vous êtes sur la page 1sur 11

Installation d'Apache Hadoop sur Ubuntu (cluster multi-

nœuds).
Voici les étapes de l'installation d'Apache Hadoop sur un serveur Linux Ubuntu, vous pouvez
créer 4 machines virtuelles en utilisant Oracle Virtual Box et installer Ubuntu sur ces VM.

Apache Hadoop est un cadre open-source de stockage et de traitement distribué qui est
utilisé pour exécuter de grands ensembles de données sur du matériel de commodité ;
Hadoop fonctionne nativement sur le système d'exploitation Linux, dans ce TP est
l'explication étape par étape la version d'installation d'Apache Hadoop (Hadoop 3.1.1) sur un
cluster multi-nœuds sur Ubuntu (un nœud de nom et 3 nœuds de données).

Voici les 4 noeuds et leurs adresses IP auxquels je vais me référer dans cet article
Installation d'Apache Hadoop sur Linux Ubuntu. et, utilisateur de connexion est
ubuntu.

1. Apache Hadoop Installation - Preparation


libraries and configurations of Hadoop on Linux Ubuntu OS

1.2 Install SSH


Si vous ne disposez pas de Secure Shell (SSH), installez SSH sur le
serveur.

sudo apt-get install ssh


1.3 Configurer une connexion sans mot de passe entre le
nœud de nom et tous les nœuds de données.

Le nœud de nom utilisera une connexion ssh pour se connecter aux autres
nœuds du cluster avec une authentification par paire de clés, afin de gérer le
cluster. Par conséquent, générons la paire de clés à l'aide de ssh-keygen.

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

La commande ssh-keygen crée les fichiers suivants.

Copiez id_rsa.pub dans authorized_keys sous le dossier ~/.ssh. En


utilisant >> il ajoute le contenu du fichier id_rsa.pub à
authorized_keys

cat .ssh/id_rsa.pub >> ~/.ssh/authorized_keys

Maintenant, copiez authorized_keys à tous les nœuds de données dans un cluster.


Cela permet au nœud de nom de se connecter aux nœuds de données sans mot
de passe (sans demander le mot de passe).

scp .ssh/authorized_keys datanode1:/home/ubuntu/.ssh/authorized_keys


scp .ssh/authorized_keys datanode2:/home/ubuntu/.ssh/authorized_keys
scp .ssh/authorized_keys datanode3:/home/ubuntu/.ssh/authorized_keys
1.4 Ajouter tous nos noeuds à /etc/hosts.

sudo vi /etc/hosts
192.168.1.100 namenode.socal.rr.com
192.168.1.141 datanode1.socal.rr.com
192.168.1.113 datanode2.socal.rr.com
192.168.1.118 datanode3.socal.rr.com

1.5 Install JDK1.8 on all 4 nodes

Apache hadoop est construit sur Java, il a donc besoin de Java pour fonctionner.
Installez openJDK Java comme ci-dessous. Si vous souhaitez utiliser d'autres JDK,
veuillez le faire en fonction de vos besoins.

sudo apt-get -y install openjdk-8-jdk-headless

Post JDK install, check if it installed successfully by running java -version

2 Download and Install Apache Hadoop

In this section, you will download Apache Hadoop and install on all nodes in a
cluster (1 name node and 3 data nodes).

2.1 Apache Hadoop Installation on all Nodes

Téléchargez la dernière version d'Apache Hadoop en utilisant la commande wget.


wget http://apache.cs.utah.edu/hadoop/common/hadoop-3.1.1/hadoop-
3.1.1.tar.gz

Une fois le téléchargement terminé, décompressez le contenu du fichier à l'aide de


tar, un outil d'archivage de fichiers pour Ubuntu, et renommez le dossier en
hadoop.

tar -xzf hadoop-3.1.1.tar.gz


mv hadoop-3.1.1 hadoop

2.2 Apache Hadoop configuration – Setup environment


variables.

Add Hadoop environment variables to .bashrc file. Open .bashrc file in vi editor and
add below variables.

vi ~/.bashrc
export HADOOP_HOME=/home/ubuntu/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=${HADOOP_HOME}
export HADOOP_COMMON_HOME=${HADOOP_HOME}
export HADOOP_HDFS_HOME=${HADOOP_HOME}
export YARN_HOME=${HADOOP_HOME}

Now re-load the environment variables to the opened session or close and
open the shell.

source ~/.bashrc
3. Configure Apache Hadoop Cluster
Une fois l'installation d'Apache Hadoop terminée, vous devez le configurer en
modifiant certains fichiers de configuration. Effectuez les configurations ci-dessous
sur le nœud de nom et copiez ces configurations sur les 3 nœuds de données d'un
cluster.

3.1 Update hadoop-env.sh

Edit hadoop-env.sh file and the JAVA_HOME

vi ~/hadoop/etc/hadoop/hadoop-env.sh

vi ~/hadoop/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

3.2 Update core-site.xml

Edit core-site.xml file

vi ~/hadoop/etc/hadoop/core-site.xml
3.3 Update hdfs-site.xml

vi ~/hadoop/etc/hadoop/hdfs-site.xml

3.4 Update yarn-site.xml


3.5 Update mapred-site.xml

vi ~/hadoop/etc/hadoop/mapred-site.xml

[Note: This configuration required only on name node however, it will not
harm if you configure it on datanodes]

3.6 Create data folder

create a data folder and change its permissions to the login user. I’ve logged in as
ubuntu user, so you see with ubuntu

4. Create master and workers files

4.1 Create master file


The file masters is used by startup scripts to identify the name node. so vi<strong>
~/hadoop/etc/hadoop/masters</strong> and add your name node IP.

192.168.1.100

4.2 Create workers file


The file workers is used by startup scripts to identify data nodes. vi
~/hadoop/etc/hadoop/workers and add all your data node IP’s to it.

192.168.1.141
192.168.1.113
192.168.1.118

This completes <strong>Apache Hadoop installation</strong> and Apache Hadoop


Cluster Configuration.

5 Format HDFS and Start Hadoop Cluster

5.1 Format HDFS


HDFS doit être formaté comme tout système de fichiers classique. Sur le serveur
Name Node (namenode), exécutez la commande suivante :

hdfs namenode -format

Your Hadoop installation is now configured and ready to run.


5.2 Start HDFS Cluster
Start the HDFS by running the start-dfs.sh script from Name Node Server
(namenode)

L'exécution de la commande jps sur le namenode devrait donner les résultats


suivants

L'exécution de la commande jps sur les nœuds de données devrait


donner les résultats suivants
5.3 Upload File to HDFS

L'écriture et la lecture sur HDFS se font avec la commande hdfs dfs. Tout d'abord,
créez manuellement votre répertoire personnel. Toutes les autres commandes
utiliseront un chemin relatif à ce répertoire personnel par défaut : (notez que
ubuntu est mon utilisateur connecté. Si vous vous connectez avec un utilisateur
différent, veuillez utiliser votre identifiant au lieu de ubuntu)

hdfs dfs -mkdir -p /user/ubuntu/

Obtenir un fichier de livres du projet Gutenberg

wget -O alice.txt
https://www.gutenberg.org/files/11/11-0.txt

télécharger le fichier téléchargé vers hdfs en


utilisant l'option -put

Lister un fichier sur hdfs


5.4 Stopping HDFS Cluster

Run stop-dfs.sh file to


stop HDFS.

Vous aimerez peut-être aussi