Comment installer un cluster à nœud unique Hadoop (pseudonode) sur CentOS 7
Hadoop est un framework open-source largement utilisé pour traiter le Bigdata. La plupart des projets Bigdata/Data Analytics sont construits sur l’écosystème Hadoop. Il se compose de deux couches, l’une pour le stockage des données et l’autre pour le traitement des données.
Le stockage sera pris en charge par son propre système de fichiers appelé HDFS (Hadoop Distributed Filesystem) et le traitement sera pris en charge par YARN (Yet Another Resource Negotiator). Mapreduce est le moteur de traitement par défaut de l’écosystème Hadoop.
Cet article décrit le processus d’installation de l’installation de Pseudonode de Hadoop, où tous les démons (JVM) exécuteront un cluster à nœud unique sur CentOS 7.
C’est principalement pour les débutants d’apprendre Hadoop. En temps réel, Hadoop sera installé sous la forme d’un cluster multinœud où les données seront distribuées entre les serveurs sous forme de blocs et le travail sera exécuté de manière parallèle.
Conditions préalables
- Une installation minimale du serveur CentOS 7.
- Sortie de Java v1.8.
- Version stable de Hadoop 2.x.
Sur cette page
- Comment installer Java sur CentOS 7
- Configurer la connexion sans mot de passe sur CentOS 7
- Comment installer Hadoop Single Node dans CentOS 7
- Comment configurer Hadoop dans CentOS 7
- Formatage du système de fichiers HDFS via NameNode
Installation de Java sur CentOS 7
1. Hadoop est un écosystème composé de Java. Nous avons besoin que Java soit installé dans notre système pour installer Hadoop.
# yum install java-1.8.0-openjdk
2. Ensuite, vérifiez la version installée de Java sur le système.
# java -version
Configurer la connexion sans mot de passe sur CentOS 7
Nous avons besoin d’avoir ssh configuré dans notre machine, Hadoop gérera les nœuds avec l’utilisation de SSH. Le nœud maître utilise la connexion SSH pour connecter ses nœuds esclaves et effectuer des opérations telles que le démarrage et l’arrêt.
Nous devons configurer ssh sans mot de passe pour que le maître puisse communiquer avec les esclaves en utilisant ssh sans mot de passe. Sinon, pour chaque établissement de connexion, il faut entrer le mot de passe.
Dans ce nœud unique, les services maîtres (Namenode, Secondary Namenode & Resource Manager) et les services esclaves (Datanode & Nodemanager) s’exécuteront en tant que JVM distinctes. Même s’il s’agit d’un nœud unique, nous avons besoin d’avoir un ssh sans mot de passe pour que Master communique Slave sans authentification.
3. Configurez une connexion SSH sans mot de passe à l’aide des commandes suivantes sur le serveur.
# ssh-keygen
ssh-copy-id -i localhost
4. Après avoir configuré la connexion SSH sans mot de passe, essayez de vous connecter à nouveau, vous serez connecté sans mot de passe.
# ssh localhost
Installation de Hadoop dans CentOS 7
5. Allez sur le site Web d’Apache Hadoop et téléchargez la version stable de Hadoop à l’aide de la commande wget suivante.
# wget https://archive.apache.org/dist/hadoop/core/hadoop-2.10.1/hadoop-2.10.1.tar.gz
tar xvpzf hadoop-2.10.1.tar.gz
6. Ensuite, ajoutez les variables d’environnement Hadoop dans le fichier ~/.bashrc comme indiqué.
HADOOP_PREFIX=/root/hadoop-2.10.1
PATH=$PATH:$HADOOP_PREFIX/bin
export PATH JAVA_HOME HADOOP_PREFIX
7. Après avoir ajouté des variables d’environnement à ~/.bashrc le fichier, sourcez le fichier et vérifiez Hadoop en exécutant les commandes suivantes.
# source ~/.bashrc
cd $HADOOP_PREFIX
bin/hadoop version
Configuration de Hadoop dans CentOS 7
Nous devons configurer ci-dessous les fichiers de configuration Hadoop afin de les intégrer à votre machine. Dans Hadoop, chaque service dispose de son propre numéro de port et de son propre répertoire pour stocker les données.
- Fichiers de configuration Hadoop – core-site.xml, hdfs-site.xml, mapred-site.xml yarn-site.xml
8. Tout d’abord, nous devons mettre à jour JAVA_HOME et le chemin Hadoop dans le fichier hadoop-env.sh, comme indiqué.
# cd $HADOOP_PREFIX/etc/hadoop
vi hadoop-env.sh
Entrez la ligne suivante au début du fichier.
export JAVA_HOME=/usr/lib/jvm/java-1.8.0/jre
export HADOOP_PREFIX=/root/hadoop-2.10.1
9. Ensuite, modifiez le fichier core-site.xml.
# cd $HADOOP_PREFIX/etc/hadoop
vi core-site.xml
Collez les balises suivantes entre les balises <configuration> comme indiqué.
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
10. Créez les répertoires ci-dessous dans le répertoire personnel de l’utilisateur tecmint, qui seront utilisés pour le stockage NN et DN.
# mkdir -p /home/tecmint/hdata/
mkdir -p /home/tecmint/hdata/data
mkdir -p /home/tecmint/hdata/name
10. Ensuite, modifiez le fichier hdfs-site.xml.
# cd $HADOOP_PREFIX/etc/hadoop
vi hdfs-site.xml
Collez les balises suivantes entre les balises <configuration> comme indiqué.
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/tecmint/hdata/name</value>
</property>
<property>
<name>dfs .datanode.data.dir</name>
<value>home/tecmint/hdata/data</value>
</property>
</configuration>
11. Encore une fois, modifiez le fichier mapred-site.xml.
# cd $HADOOP_PREFIX/etc/hadoop
cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
Collez les balises suivantes entre les balises <configuration> comme indiqué.
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
12. Enfin, modifiez le fichier yarn-site.xml.
# cd $HADOOP_PREFIX/etc/hadoop
vi yarn-site.xml
Collez les balises suivantes entre les balises <configuration> comme indiqué.
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
Formatage du système de fichiers HDFS via NameNode
13. Avant de démarrer le cluster, nous devons formater le Hadoop NN dans notre système local où il a été installé. Habituellement, cela se fera dans la phase initiale avant de démarrer le cluster la première fois.
Le formatage du NN entraînera une perte de données dans le metastore NN, nous devons donc être plus prudents, nous ne devons pas formater le NN pendant l’exécution du cluster, sauf si cela est requis intentionnellement.
# cd $HADOOP_PREFIX
bin/hadoop namenode -format
14. Démon Démarrer NameNode et démon DataNode : (port 50070).
# cd $HADOOP_PREFIX
sbin/start-dfs.sh
15. Démarrez le démon ResourceManager et le démon NodeManager : (port 8088).
# sbin/start-yarn.sh
16. Arrêter tous les services.
# sbin/stop-dfs.sh
sbin/stop-dfs.sh
Résumé
Summary
Dans cet article, nous avons suivi le processus étape par étape pour configurer le cluster Hadoop Pseudonode (Single Node). Si vous avez des connaissances de base de Linux et que vous suivez ces étapes, le cluster sera opérationnel en 40 minutes.
Cela peut être très utile pour le débutant pour commencer à apprendre et à pratiquer Hadoop ou cette version vanille de Hadoop peut être utilisée à des fins de développement. Si nous voulons avoir un cluster en temps réel, soit nous avons besoin d’au moins 3 serveurs physiques en main, soit nous devons provisionner le Cloud pour avoir plusieurs serveurs.







