Datalbi  
Créé le 30/08/2016 par Laurent Bourcier

Installation de Hadoop 2.7 sous CentOS 7.1

Le but est d'installer un cluster hadoop.7 (version communautaire Apache).

Le cluster est constitué de 3 noeuds :

Host                    IP              Fonction
----------------------- --------------- --------------------------------------------
hadoop01.datalbi.com    192.168.56.201  namenode (HDFS) + resourcemanager (YARN)
hadoop02.datalbi.com    192.168.56.202  datanode (HDFS) + nodemanager (YARN)
hadoop03.datalbi.com    192.168.56.203  datanode (HDFS) + nodemanager (YARN)

Prerequis hardware

Voici la configuration par serveur :

CPU : un processeur est suffisant
Mémoire : 4 Go minimum, 8 Go conseillé

Prerequis système

On part d'une installation minimale de CentOS 7.1.

Les prérequis pour Hadoop sont les suivants :

Installer le jdk 7 que l'on aura préalablement téléchargé:

cd /opt
tar xf /root/jdk-7u80-linux-x64.tar

Le DNS utilisé se trouve dans le fichier /etc/resolv.conf

cat /etc/resolv.conf
# Generated by NetworkManager
search datalbi.com
nameserver 192.168.56.201

Si le firewall est activé, le désactiver :

systemctl disable firewalld
systemctl stop firewalld

Installation

A l'heure ou est écrit cet article, il n'existe pas de paquetage rpm pour installer Hadoop en version communautaire. On doit donc installer les fichiers manuellement.

Télécharger le fichier hadoop-2.7.2.tar à l'adresse http://hadoop.apache.org/releases.html

Extraire le contenu du fichier :

su -
cd /opt
tar xf /root/hadoop-2.7.2.tar

Mettre à jour les variables d'environnement :

vi /etc/bashrc
# Ajouter les lignes suivantes
export JAVA_HOME=/opt/jdk1.7.0_80
export HADOOP_PREFIX=/opt/hadoop-2.7.2
export PATH=$JAVA_HOME/bin:$PATH

Configuration

Modifier la taille max des jvm exprimée en Mo :

vi /opt/hadoop-2.7.2/etc/hadoop/hadoop-env.sh
# Modifier la ligne suivante
export HADOOP_HEAPSIZE=512

vi /opt/hadoop-2.7.2/etc/hadoop/yarn-env.sh
# Modifier la ligne suivante
YARN_HEAPSIZE=512

Renseigner l'URI du namenode


vi /opt/hadoop-2.7.2/etc/hadoop/core-site.xml

<configuration>
<property>
  <name>fs.defaultFS</name>
  <value>hdfs://hadoop01.datalbi.com:50070/</value>
  <description>URI of namenode</description>
</property>
</configuration>

Créer le répertoire de donnees du namenode et datanode

# A faire sur hadoop01
mkdir /hadoop_name_dir

# A faire sur hadoop02 et hadoop03
mkdir /hadoop_data_dir

Configurer l'emplacement du répertoire de donnees du namenode et datanode


# A faire sur les 3 noeuds, fichier de configuration a l'identique.
vi /opt/hadoop-2.7.2/etc/hadoop/hdfs-site.xml

<configuration>
<property>
  <name>dfs.namenode.name.dir</name>
  <value>/hadoop_name_dir</value>
  <description>Namenode : Location for fsimage and editlog</description>
</property>
<property>
  <name>dfs.datanode.data.dir</name>
  <value>/hadoop_data_dir</value>
  <description>Datanode : Location for local files</description>
</property>
</configuration>
<property>
  <name>dfs.namenode.rpc-address</name>
  <value>hadoop01.datalbi.com:5000</value>
  <description>s</description>
</property>

Formater le HDFS sur le namenode en donnant un nom au HDFS :

# A faire sur hadoop01
$HADOOP_PREFIX/bin/hdfs namenode -format hdfs_datalbi

Demarrage du cluster

# hadoop01
# start HDFS name node
$HADOOP_PREFIX/sbin/hadoop-daemon.sh --config $HADOOP_PREFIX/etc/hadoop --script hdfs start namenode
# start YARN resource manager
$HADOOP_PREFIX/sbin/yarn-daemon.sh --config $HADOOP_PREFIX/etc/hadoop start resourcemanager

# hadoop02 et hadoop03
# start HDFS data node
$HADOOP_PREFIX/sbin/hadoop-daemons.sh --config $HADOOP_PREFIX/etc/hadoop --script hdfs start datanode
# start YARN node manager :
$HADOOP_PREFIX/sbin/yarn-daemons.sh --config $HADOOP_PREFIX/etc/hadoop start nodemanager

Vérification du bon fonctionnement

Vérifier l'interface web HDFS : http://hadoop01.datalbi.com:50070/





Vérifier l'interface web YARN : http://hadoop01.datalbi.com:8088/


Arret du cluster

# hadoop01
# stop HDFS name node
$HADOOP_PREFIX/sbin/hadoop-daemon.sh --config $HADOOP_PREFIX/etc/hadoop --script hdfs stop namenode
# stop YARN resource manager
$HADOOP_PREFIX/sbin/yarn-daemon.sh --config $HADOOP_PREFIX/etc/hadoop stop resourcemanager

# hadoop02 et hadoop03
# stop HDFS data node
$HADOOP_PREFIX/sbin/hadoop-daemons.sh --config $HADOOP_PREFIX/etc/hadoop --script hdfs stop datanode
# stop YARN node manager :
$HADOOP_PREFIX/sbin/yarn-daemons.sh --config $HADOOP_PREFIX/etc/hadoop stop nodemanager