MODOP Cluster Hadoop – Connect Client – Partie 2

Inventaires du client

Node-clientH01

  • Lan Public : 192.168.1.56/24

Prérequis des nœuds Hadoop

Mise à jour

[root@node-clienth ~]# dnf update -y

Désactivation SELinux

[root@node-clienth ~]# setenforce 0
[root@node-clienth ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

Set Timedate Paris

[root@node-clienth ~]# timedatectl set-timezone Europe/Paris

Hosts du Cluster Privé et Public

Hosts Lan Privé

[root@node-clientH01 ~]# echo "# Cluster Prive" >> /etc/hosts
[root@node-clientH01 ~]# for i in {0..5};do echo "172.16.185.5$i node-hadoop0`expr $i + 1`" >> /etc/hosts ;done

Hosts Lan Public

[root@node-clientH01 ~]# echo "# Cluster Public" >> /etc/hosts
[root@node-clientH01 ~]# for i in {0..5};do echo "192.168.1.5$i hadoop0`expr $i + 1`" >> /etc/hosts ;done

Stopper le firewalld 

[root@node-clientH01 ~]# systemctl stop firewalld

Download les paquets nécessaires via master Cluster

[root@node-clientH01 ~]# cd /home
[root@node-clientH01 home]# dnf install wget –y
[root@node-clientH01 home]# scp root@hadoop01:/home/hduser/jdk-8u202-linux-x64.tar.gz .
[root@node-clientH01 home]# scp root@hadoop01:/home/hduser/hadoop-3.3.5.tar.gz .

Installation des paquets

Installation java

[root@node-clientH01 home]# dnf install tar -y
[root@node-clientH01 home]# tar -xvzf jdk-8u202-linux-x64.tar.gz -C /opt

Installation hadoop

[root@node-clientH01 home]# tar -xzvf hadoop-3.3.5.tar.gz -C /opt/
[root@node-clientH01 home]# mv /opt/hadoop-3.3.5/ /opt/hadoop/

Ajout Variable d’environnement

[root@node-clientH01 home]# vi ~/.bashrc
export JAVA_HOME=$(readlink -f /opt/jdk1.8.0_202/bin/java | sed "s:/bin/java::")
export HADOOP_HOME=/opt/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export PATH=$PATH:$HADOOP_INSTALL/bin
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
#export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
export PATH=${PATH}:/opt/jdk1.8.0_202/bin
[root@node-clientH01 home]# source ~/.bashrc

Ajout logs hadoop

[root@node-clientH01 home]# mkdir -p /opt/hadoop/logs

Créer cléf SSH

[root@node-clientH01 home]# ssh-keygen -t rsa
[root@node-clientH01 home]# dnf install sshpass -y
[root@node-clientH01 home]# echo "mot_de_pass_hduser" > /home/.hduser
[root@node-clientH01 home]# chmod 600 /home/.hduser

Déploiement de la clef sur le cluster Hadoop

[root@node-clientH01 home]# for ssh in `cat /etc/hosts |grep 192 |awk '{print $2}'`;do sshpass -f /home/.hduser ssh-copy-id -o StrictHostKeyChecking=no hduser@${ssh}; done

Intégration des fichiers Hadoop Master sur le client

[root@node-clientH01 home]# scp hduser@hadoop01:/opt/hadoop/etc/hadoop/hdfs-site.xml /opt/hadoop/etc/hadoop/hdfs-site.xml
[root@node-clientH01 home]# scp root@hadoop01:/opt/hadoop/etc/hadoop/workers /opt/hadoop/etc/hadoop/workers
[root@node-clientH01 home]# scp root@hadoop01:/opt/hadoop/etc/hadoop/core-site.xml /opt/hadoop/etc/hadoop/core-site.xml
[root@node-clientH01 home]# echo "192.168.1.50" >> /opt/hadoop/etc/hadoop/masters

Ajout Subnet 172.16.185.0/24 pour joindre le cluster

[root@node-clientH01 home]# ip route add 172.16.185.0/24 via 192.168.1.56
[root@node-clientH01 home]# ip r

[root@node-clientH01 home]# ping -c 3 node-hadoop01

Check connexion HDFS

[root@node-clientH01 home]# HADOOP_USER_NAME=hduser hdfs dfs -ls /

[root@node-clientH01 home]# HADOOP_USER_NAME=hduser hdfs dfs -df -h /

Création Répertoire/Files sur HDFS via le client

Sur le client

[root@node-clientH01 home]# HADOOP_USER_NAME=hduser hdfs dfs -mkdir /projetClientH
[root@node-clientH01 home]# HADOOP_USER_NAME=hduser hdfs dfs -ls /

[root@node-clienth home]# echo "J'aime HDFS hadoop" >> clienth.txt

[root@node-clienth home]# HADOOP_USER_NAME=hduser hdfs dfs -put clienth.txt /projetClientH/
[root@node-clienth home]# HADOOP_USER_NAME=hduser hdfs dfs -cat /projetClientH/clienth.txt

Sur le serveur Web UI Hadoop


« Utilities » et « Browse the file system »


Présence du répertoire « /projetClientH » sur HDFS crée par le client
Présence du fichier « /projetClientH/client.txt » sur HDFS

Check du réplica « /projetClientH/client.txt » sur HDFS (Mode Bloc)


« Nombre de réplicas, ici 6 Datanodes »


Taille du fichier répliqué « client.txt » sur volume HDFS, ici 128M


Information du fichier « clienth.txt » et la réplication sur DataNodes

Liste le répertoire « /projetclientH » sur tous les  DataNodes via NameNode

[hduser@node-hadoop01 ~]$ for ssh in `cat /etc/hosts |grep node |awk '{print $2}'`;do ssh hduser@$ssh -t "hdfs dfs -ls /" ; done

Liste le fichier « /projetclientH/clienth.txt » sur tous les nodes via NameNode

[hduser@node-hadoop01 ~]$ for ssh in `cat /etc/hosts |grep node |awk '{print $2}'`;do ssh hduser@$ssh -t "hdfs dfs -ls -R /" ; done

Views: 2

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *