Tous les produits
Search
Centre de documentation

Elastic Compute Service:Build a Hadoop environment

Dernière mise à jour :Aug 26, 2026

Déployez des clusters Hadoop distribués ou pseudo-distribués sur des instances ECS Linux pour le stockage et le traitement de données massives.

Contexte

Apache Hadoop est un framework conçu pour le traitement distribué d'ensembles de données à grande échelle au sein de clusters informatiques. Il permet une mise à l'échelle allant d'un serveur unique à des milliers de machines, chacune fournissant des capacités de calcul et de stockage locales. Hadoop détecte et gère les pannes au niveau de la couche application, offrant ainsi une haute disponibilité sans dépendre de la redondance matérielle.

Les composants principaux de Hadoop sont le système de fichiers distribué Hadoop (HDFS) et MapReduce :

  • HDFS : Un système de fichiers distribué dédié au stockage et à la lecture des données applicatives.

  • MapReduce : Un framework de calcul distribué qui divise les tâches en phases Map et Reduce et utilise un planificateur de tâches (JobTracker) pour les exécuter sur les nœuds du cluster.

Fonctionnalité

Mode pseudo-distribué

Mode entièrement distribué

Nombre de nœuds

Nœud unique. Tous les services s'exécutent sur une seule machine.

Plusieurs nœuds. Les services sont répartis sur plusieurs machines.

Utilisation des ressources

Utilise les ressources d'une seule machine.

Exploite les ressources de calcul et de stockage de plusieurs machines.

Tolérance aux pannes

Faible. Un point de défaillance unique rend l'ensemble du cluster indisponible.

Élevée. Prend en charge la réplication des données et les configurations de haute disponibilité.

Scénarios

  • Développement et tests

  • Apprentissage et formation

  • Petits projets

  • Environnements de production

  • Scénarios nécessitant une haute disponibilité et une tolérance aux pannes

  • Multi-utilisateurs et multitâches

  • Stockage et traitement de données à grande échelle

Déploiement rapide

Cliquez sur Run Now pour ouvrir Terraform Explorer, où vous pouvez consulter et exécuter du code Terraform afin de construire automatiquement un environnement Hadoop sur une instance ECS.

Prérequis

Vos instances ECS doivent répondre aux exigences suivantes :

Environnement

Exigence

Instance

Pseudo-distribué

1 instance

Distribué

3 instances ou plus

Remarque

Ajoutez les instances à un ensemble de déploiement utilisant la stratégie High Availability afin d'améliorer la disponibilité et de simplifier la gestion du cluster.

Système d'exploitation

Linux

Adresse IP publique

L'instance dispose d'une adresse IP publique ou est associée à une Elastic IP Address (EIP).

Groupe de sécurité de l'instance

Autorisez le trafic entrant sur les ports 22, 443, 8088 (interface web Hadoop YARN) et 9870 (interface web Hadoop NameNode).

Remarque

Pour les déploiements distribués, autorisez également le trafic sur le port 9868 (interface web Hadoop Secondary NameNode).

Consultez la rubrique Gérer les règles de groupe de sécurité.

Java Development Kit (JDK)

Cette rubrique utilise Hadoop 3.2.4 et Java 8. Pour les autres versions, consultez Hadoop Java Versions.

Version Hadoop

Version Java

Hadoop 3.3

Java 8 et Java 11

Hadoop 3.0.x~3,2.x

Java 8

Hadoop 2.7.x~2,10.x

Java 7 et Java 8

Procédure

Distribué

Remarque

Planifiez les nœuds avant de déployer Hadoop. Cet exemple utilise trois instances : hadoop001 est le nœud master, et hadoop002 et hadoop003 sont des nœuds worker.

Composant fonctionnel

hadoop001

hadoop002

hadoop003

HDFS

  • NameNode

  • DataNode

DataNode

  • SecondaryNameNode

  • DataNode

YARN

NodeManager

  • ResourceManager

  • NodeManager

NodeManager

Étape 1 : Installer le JDK

Important

Installez le JDK sur tous les nœuds.

  1. Connectez-vous à l'instance ECS en tant qu'utilisateur standard.

    Consultez la rubrique Se connecter à une instance Linux à l'aide de Workbench.

    Important

    La communauté Hadoop déconseille d'exécuter Hadoop en tant qu'utilisateur root pour des raisons de sécurité et de gestion des autorisations. Utilisez un utilisateur non-root, tel que ecs-user.

  2. Téléchargez le package d'installation du JDK 1.8.

    wget https://download.java.net/openjdk/jdk8u41/ri/openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz
  3. Décompressez le package d'installation du JDK 1.8.

    tar -zxvf openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz
  4. Déplacez et renommez le dossier d'installation du JDK.

    Dans cet exemple, le dossier d'installation du JDK est renommé en java8. Vous pouvez choisir un autre nom.

    sudo mv java-se-8u41-ri/ /usr/java8
  5. Configurez les variables d'environnement Java.

    Si vous avez renommé le dossier d'installation du JDK, remplacez java8 dans les commandes suivantes par le nom réel.

    sudo sh -c "echo 'export JAVA_HOME=/usr/java8' >> /etc/profile"
    sudo sh -c 'echo "export PATH=\$PATH:\$JAVA_HOME/bin" >> /etc/profile'
    source /etc/profile
  6. Vérifiez que le JDK est installé.

    java -version

    Le résultat suivant indique que l'installation a réussi.

    [ecs-user@hadoop001 ~]$ java -version
    openjdk version "1.8.0_41"
    OpenJDK Runtime Environment (build 1.8.0_41-b04)
    OpenJDK 64-Bit Server VM (build 25.40-b25, mixed mode)

Étape 2 : Configurer la connexion SSH sans mot de passe

Important

Effectuez cette opération sur toutes les instances.

Configurez la connexion SSH sans mot de passe afin que les nœuds puissent se connecter sans authentification par mot de passe, ce qui simplifie la gestion du cluster.

  1. Configurez les noms d'hôte et la résolution des hôtes.

    sudo vim /etc/hosts

    Ajoutez les informations <Adresse IP privée principale> <Nom d'hôte> pour toutes les instances au fichier /etc/hosts. Par exemple :

    <Primary private IP address> hadoop001
    <Primary private IP address> hadoop002
    <Primary private IP address> hadoop003
  2. Créez une clé publique et une clé privée.

    ssh-keygen -t rsa
    [ecs-user@hadoop001 ~]$ ssh-keygen -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/ecs-user/.ssh/id_rsa):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /home/ecs-user/.ssh/id_rsa.
    Your public key has been saved in /home/ecs-user/.ssh/id_rsa.pub.
    The key fingerprint is:
    SHA256:xxx                    ecs-user@hadoop001
    The key's randomart image is:
    +---[RSA 3072]----+
    |    .E            |
    |     o            |
    |                  |
    | o .    .         |
    |  o + .           |
    |   ++oo S .       |
    |  o..* + o o      |
    | o.o* o   o +     |
    |+=**.O .   o      |
    |=BB*O=*o          |
    +----[SHA256]------+
  3. Exécutez ssh-copy-id <Nom d'hôte> en remplaçant le nom d'hôte par le nom correct. Par exemple :

    Sur hadoop001, exécutez ssh-copy-id hadoop001, ssh-copy-id hadoop002 et ssh-copy-id hadoop003. Après chaque commande, saisissez yes puis le mot de passe de l'instance correspondante.

    ssh-copy-id hadoop001
    ssh-copy-id hadoop002
    ssh-copy-id hadoop003

    La connexion sans mot de passe est configurée lorsque le résultat correspond à ce qui suit.

    [ecs-user@hadoop001 ~]$ ssh-copy-id hadoop002
    /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/ecs-user/.ssh/id_rsa.pub"
    The authenticity of host 'hadoop002 (172.20.153.127)' can't be established.
    ECDSA key fingerprint is SHA256:xxx.
    Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
    /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
    /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
    ecs-user@hadoop002's password:
    
    Number of key(s) added: 1
    
    Now try logging into the machine

Étape 3 : Installer Hadoop

Important

Exécutez les commandes suivantes sur toutes les instances.

  1. Téléchargez le package d'installation de Hadoop.

    wget http://mirrors.cloud.aliyuncs.com/apache/hadoop/common/hadoop-3.2.4/hadoop-3.2.4.tar.gz
  2. Décompressez le package d'installation de Hadoop vers /opt/hadoop.

    sudo tar -zxvf hadoop-3.2.4.tar.gz -C /opt/
    sudo mv /opt/hadoop-3.2.4 /opt/hadoop
  3. Configurez les variables d'environnement de Hadoop.

    sudo sh -c "echo 'export HADOOP_HOME=/opt/hadoop' >> /etc/profile"
    sudo sh -c "echo 'export PATH=\$PATH:/opt/hadoop/bin' >> /etc/profile"
    sudo sh -c "echo 'export PATH=\$PATH:/opt/hadoop/sbin' >> /etc/profile"
    source /etc/profile
  4. Modifiez les fichiers de configuration yarn-env.sh et hadoop-env.sh.

    sudo sh -c 'echo "export JAVA_HOME=/usr/java8" >> /opt/hadoop/etc/hadoop/yarn-env.sh'
    sudo sh -c 'echo "export JAVA_HOME=/usr/java8" >> /opt/hadoop/etc/hadoop/hadoop-env.sh'
  5. Vérifiez que Hadoop est installé.

    hadoop version

    Le résultat suivant indique que l'installation a réussi.

    [ecs-user@hadoop001 ~]$ hadoop version
    Hadoop 3.2.4
    Source code repository Unknown -r 7e5d998xxx
    Compiled by ubuntu on 2022-07-12T11:58Z
    Compiled with protoc 2.5.0
    From source with checksum ee031cxxx
    This command was run using /opt/hadoop/share/hadoop/common/hadoop-common-3.2.4.jar

Étape 4 : Configurer Hadoop

Important

Modifiez les fichiers de configuration de Hadoop sur tous les nœuds.

  1. Modifiez le fichier de configuration de Hadoop core-site.xml.

    1. Ouvrez le fichier pour le modifier.

      sudo vim /opt/hadoop/etc/hadoop/core-site.xml
    2. Dans le nœud <configuration></configuration>, insérez le contenu suivant.

         <!--Specify the NameNode address-->
         <property>
               <name>fs.defaultFS</name>
               <value>hdfs://hadoop001:8020</value>
         </property>
         <!--Specify the directory to store files generated by Hadoop-->
         <property>
               <name>hadoop.tmp.dir</name>
               <value>/opt/hadoop/data</value>
         </property>
         <!--Configure the static user for HDFS web logon as hadoop-->
         <property>
                <name>hadoop.http.staticuser.user</name>
                <value>hadoop</value>
         </property>
  2. Modifiez le fichier de configuration de Hadoop hdfs-site.xml.

    1. Ouvrez le fichier pour le modifier.

      sudo vim /opt/hadoop/etc/hadoop/hdfs-site.xml
    2. Dans le nœud <configuration></configuration>, insérez le contenu suivant.

          <!-- NameNode web endpoint -->
          <property>
              <name>dfs.namenode.http-address</name>  
              <value>hadoop001:9870</value>
          </property>
          <!-- Secondary NameNode web endpoint -->
          <property>
              <name>dfs.namenode.secondary.http-address</name>
              <value>hadoop003:9868</value>
          </property>
  3. Modifiez le fichier de configuration de Hadoop yarn-site.xml.

    1. Ouvrez le fichier pour le modifier.

      sudo vim /opt/hadoop/etc/hadoop/yarn-site.xml
    2. Dans le nœud <configuration></configuration>, insérez le contenu suivant.

           <!--The method for NodeManager to obtain data is shuffle-->
           <property>
      	 <name>yarn.nodemanager.aux-services</name>
      	 <value>mapreduce_shuffle</value>
           </property>
      
          <!--Specify the YARN (ResourceManager) address-->     
          <property>
      	 <name>yarn.resourcemanager.hostname</name>
      	 <value>hadoop002</value>
          </property> 
          
          <!--Specify the whitelist of environment variables that NodeManager can pass to containers-->
          <property>
          	<name>yarn.nodemanager.env-whitelist</name>
          	<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
          </property>
  4. Modifiez le fichier de configuration de Hadoop mapred-site.xml.

    1. Ouvrez le fichier pour le modifier.

      sudo vim /opt/hadoop/etc/hadoop/mapred-site.xml
    2. Dans le nœud <configuration></configuration>, insérez le contenu suivant.

         <!--Tell Hadoop to run MapReduce (MR) on YARN-->
         <property>
      	 <name>mapreduce.framework.name</name>
      	 <value>yarn</value>
         </property>
  5. Modifiez le fichier de configuration de Hadoop workers.

    1. Ouvrez le fichier pour le modifier.

      sudo vim /opt/hadoop/etc/hadoop/workers
    2. Dans le fichier workers, insérez les informations relatives aux instances.

      hadoop001
      hadoop002
      hadoop003

Étape 5 : Démarrer Hadoop

  1. Initialisez le namenode.

    Avertissement

    N'initialisez le namenode sur les trois instances que lors du premier démarrage.

    hadoop namenode -format
  2. Démarrez Hadoop.

    Important
    • La communauté Hadoop déconseille d'exécuter Hadoop en tant qu'utilisateur root en raison de problèmes de sécurité et d'autorisations. Utilisez un utilisateur non root, tel que ecs-user.

    • Si vous devez absolument exécuter Hadoop en tant que root, assurez-vous de bien comprendre le modèle de contrôle d'accès et les risques associés avant de modifier les fichiers de configuration suivants.

      Remarque : L'exécution de Hadoop en tant que root introduit des risques de sécurité sérieux, notamment des violations de données, une vulnérabilité accrue aux logiciels malveillants pouvant obtenir des privilèges root et des problèmes d'autorisation inattendus. Consultez la documentation officielle de Hadoop.

    Modifiez les fichiers de configuration pour autoriser l'utilisateur root à démarrer les services Hadoop.

    Les fichiers de configuration suivants se trouvent généralement dans le répertoire /opt/hadoop/sbin.

    1. Dans les fichiers start-dfs.sh et stop-dfs.sh, ajoutez les paramètres suivants.

      HDFS_DATANODE_USER=root
      HADOOP_SECURE_DN_USER=hdfs
      HDFS_NAMENODE_USER=root
      HDFS_SECONDARYNAMENODE_USER=root
    2. Dans les fichiers start-yarn.sh et stop-yarn.sh, ajoutez les paramètres suivants.

      YARN_RESOURCEMANAGER_USER=root
      HADOOP_SECURE_DN_USER=yarn
      YARN_NODEMANAGER_USER=root
    1. Sur hadoop001, exécutez start-dfs.sh pour démarrer le service HDFS.

      Ce script démarre NameNode, SecondaryNameNode et DataNode.

      start-dfs.sh

      HDFS est en cours d'exécution lorsque la sortie de jps correspond à ce qui suit.

      [ecs-user@hadoop003 ~]$ jps
      1347 SecondaryNameNode
      2260 Jps
      1256 DataNode
      
      [ecs-user@hadoop002 ~]$ jps
      3538 Jps
      1307 DataNode
      
      [ecs-user@hadoop001 ~]$ jps
      1589 NameNode
      1750 DataNode
      2844 Jps
    2. Sur hadoop002, exécutez start-yarn.sh pour démarrer le service YARN.

      Ce script démarre ResourceManager et NodeManager.

      start-yarn.sh

      YARN est en cours d'exécution lorsque la sortie correspond à ce qui suit.

      [ecs-user@hadoop002 ~]$ start-yarn.sh
      Starting resourcemanager
      Starting nodemanagers
  3. Consultez les processus démarrés sur les trois nœuds.

    jps

    Les processus démarrés sont les suivants.

    [ecs-user@hadoop003 ~]$ jps
    1347 SecondaryNameNode
    1256 DataNode
    1481 NodeManager
    1759 Jps
    
    [ecs-user@hadoop002 ~]$ jps
    2192 Jps
    1686 NodeManager
    1499 ResourceManager
    1307 DataNode
    
    [ecs-user@hadoop001 ~]$ jps
    2355 Jps
    1589 NameNode
    1750 DataNode
    2073 NodeManager
  4. Dans votre navigateur, saisissez http://<Adresse IP publique de l'instance ECS hadoop002>:8088 pour accéder à l'interface Web YARN.

    Vous pouvez y consulter l'utilisation des ressources du cluster, l'état des tâches MapReduce et les informations sur les files d'attente.

    Important

    Autorisez le trafic entrant sur le port 8088 dans le groupe de sécurité. Sinon, l'interface Web sera inaccessible. Consultez la rubrique Ajouter une règle de groupe de sécurité.

    La page All Applications affiche les métriques du cluster : Active Nodes est égal à 3, Total Resources est égal à memory:24 GB, vCores:24, le type de planificateur est Capacity Scheduler et aucune application n'est actuellement soumise ou en cours d'exécution.

  5. Dans votre navigateur, saisissez http://<Adresse IP publique de l'instance ECS hadoop001>:9870 pour accéder à l'interface Web NameNode. Saisissez http://<Adresse IP publique de l'instance ECS hadoop003>:9868 pour accéder à l'interface Web SecondaryNameNode.

    Vous pouvez y consulter l'état de HDFS, la santé du cluster, les nœuds actifs et les journaux NameNode.

    La page suivante indique que l'environnement distribué est correctement configuré.

    Important

    Autorisez le trafic entrant sur le port 9870 dans le groupe de sécurité. Sinon, l'interface Web sera inaccessible. Consultez la rubrique Ajouter une règle de groupe de sécurité.

    Lorsque l'accès est réussi, l'interface Web NameNode affiche la page Overview. Le titre de la page indique que NameNode est dans l'état active. La section Summary affiche la sécurité et l'état d'exécution du cluster, notamment Security is off et Safemode is off. Plus bas, la capacité de stockage du cluster et son utilisation sont affichées (par exemple, Configured Capacity, DFS Used, DFS Remaining).

Pseudo-distribué

Étape 1 : Installer le JDK

  1. Connectez-vous à l'instance ECS en tant qu'utilisateur standard.

    Consultez la rubrique Se connecter à une instance Linux via Workbench.

    Important

    La communauté Hadoop déconseille d'exécuter Hadoop en tant qu'utilisateur root pour des raisons de sécurité et de gestion des autorisations. Utilisez un utilisateur non-root, tel que ecs-user.

  2. Téléchargez le package d'installation du JDK 1.8.

    wget https://download.java.net/openjdk/jdk8u41/ri/openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz
  3. Décompressez le package d'installation du JDK 1.8.

    tar -zxvf openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz
  4. Déplacez et renommez le dossier d'installation du JDK.

    Dans cet exemple, le dossier d'installation du JDK est renommé en java8. Vous pouvez choisir un autre nom.

    sudo mv java-se-8u41-ri/ /usr/java8
  5. Configurez les variables d'environnement Java.

    Si vous avez renommé le dossier d'installation du JDK, remplacez java8 par le nom réel dans les commandes suivantes.

    sudo sh -c "echo 'export JAVA_HOME=/usr/java8' >> /etc/profile"
    sudo sh -c 'echo "export PATH=\$PATH:\$JAVA_HOME/bin" >> /etc/profile'
    source /etc/profile
  6. Vérifiez que le JDK est installé.

    java -version

    Le résultat suivant indique que l'installation a réussi.

    [ecs-user@hadoop001 ~]$ java -version
    openjdk version "1.8.0_41"
    OpenJDK Runtime Environment (build 1.8.0_41-b04)
    OpenJDK 64-Bit Server VM (build 25.40-b25, mixed mode)

Étape 2 : Configurer la connexion SSH sans mot de passe

Remarque

Même sur un nœud unique, la connexion SSH sans mot de passe est requise. Sinon, le démarrage de NameNode et de DataNode échoue avec une erreur « permission denied ».

  1. Générez une paire de clés publique et privée.

    ssh-keygen -t rsa
    [ecs-user@hadoop001 ~]$ ssh-keygen -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/ecs-user/.ssh/id_rsa):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /home/ecs-user/.ssh/id_rsa.
    Your public key has been saved in /home/ecs-user/.ssh/id_rsa.pub.
    The key fingerprint is:
    SHA256:xxx ecs-user@hadoop001
    The key's randomart image is:
    +---[RSA 3072]----+
    |    .E            |
    |     o            |
    | o .   .          |
    | o +  .           |
    |  ++oo S .        |
    | o..* + o o       |
    | o.o* o   o +     |
    |+=**.O .   o      |
    |=BB*O-*o          |
    +----[SHA256]-----+
  2. Ajoutez la clé publique au fichier authorized_keys.

    cd .ssh
    cat id_rsa.pub >> authorized_keys

Étape 3 : Installer Hadoop

  1. Téléchargez le package d'installation de Hadoop.

    wget http://mirrors.cloud.aliyuncs.com/apache/hadoop/common/hadoop-3.2.4/hadoop-3.2.4.tar.gz
  2. Décompressez le package d'installation de Hadoop dans le répertoire /opt/hadoop.

    sudo tar -zxvf hadoop-3.2.4.tar.gz -C /opt/
    sudo mv /opt/hadoop-3.2.4 /opt/hadoop
  3. Configurez les variables d'environnement de Hadoop.

    sudo sh -c "echo 'export HADOOP_HOME=/opt/hadoop' >> /etc/profile"
    sudo sh -c "echo 'export PATH=\$PATH:/opt/hadoop/bin' >> /etc/profile"
    sudo sh -c "echo 'export PATH=\$PATH:/opt/hadoop/sbin' >> /etc/profile"
    source /etc/profile
  4. Modifiez les fichiers de configuration yarn-env.sh et hadoop-env.sh.

    sudo sh -c 'echo "export JAVA_HOME=/usr/java8" >> /opt/hadoop/etc/hadoop/yarn-env.sh'
    sudo sh -c 'echo "export JAVA_HOME=/usr/java8" >> /opt/hadoop/etc/hadoop/hadoop-env.sh'
  5. Vérifiez que Hadoop est installé.

    hadoop version

    Le résultat suivant indique que l'installation a réussi.

    [ecs-user@hadoop001 ~]$ hadoop version
    Hadoop 3.2.4
    Source code repository Unknown -r 7e5d998xxx
    Compiled by ubuntu on 2022-07-12T11:58Z
    Compiled with protoc 2.5.0
    From source with checksum ee031cxxx
    This command was run using /opt/hadoop/share/hadoop/common/hadoop-common-3.2.4.jar

Étape 4 : Configurer Hadoop

  1. Modifiez le fichier de configuration Hadoop core-site.xml.

    1. Ouvrez le fichier pour le modifier.

      sudo vim /opt/hadoop/etc/hadoop/core-site.xml
    2. Dans le nœud <configuration></configuration>, insérez le contenu suivant.

          <property>
              <name>hadoop.tmp.dir</name>
              <value>file:/opt/hadoop/tmp</value>
              <description>location to store temporary files</description>
          </property>
          <property>
              <name>fs.defaultFS</name>
              <value>hdfs://localhost:9000</value>
          </property>
  2. Modifiez le fichier de configuration Hadoop hdfs-site.xml.

    1. Ouvrez le fichier pour le modifier.

      sudo vim /opt/hadoop/etc/hadoop/hdfs-site.xml
    2. Dans le nœud <configuration></configuration>, insérez le contenu suivant.

          <property>
              <name>dfs.replication</name>
              <value>1</value>
          </property>
          <property>
              <name>dfs.namenode.name.dir</name>
              <value>file:/opt/hadoop/tmp/dfs/name</value>
          </property>
          <property>
              <name>dfs.datanode.data.dir</name>
              <value>file:/opt/hadoop/tmp/dfs/data</value>
          </property>

Étape 5 : Démarrer Hadoop

  1. Initialisez le namenode.

    hadoop namenode -format
  2. Démarrez Hadoop.

    Important
    • La communauté Hadoop déconseille d'exécuter Hadoop en tant qu'utilisateur root pour des raisons de sécurité et de gestion des autorisations. Utilisez un utilisateur non-root, tel que ecs-user.

    • Si vous devez absolument exécuter Hadoop en tant que root, assurez-vous de bien comprendre le modèle de contrôle d'accès et les risques associés avant de modifier les fichiers de configuration suivants.

      Remarque : L'exécution de Hadoop en tant que root expose à de graves risques de sécurité, notamment des fuites de données, une vulnérabilité accrue aux logiciels malveillants pouvant obtenir des privilèges root et des problèmes d'autorisations imprévus. Consultez la documentation officielle de Hadoop.

    Modifier les fichiers de configuration pour permettre à l'utilisateur root de démarrer les services Hadoop.

    Les fichiers de configuration suivants se trouvent généralement dans le répertoire /opt/hadoop/sbin.

    1. Dans les fichiers start-dfs.sh et stop-dfs.sh, ajoutez les paramètres suivants.

      HDFS_DATANODE_USER=root
      HADOOP_SECURE_DN_USER=hdfs
      HDFS_NAMENODE_USER=root
      HDFS_SECONDARYNAMENODE_USER=root
    2. Dans les fichiers start-yarn.sh et stop-yarn.sh, ajoutez les paramètres suivants.

      YARN_RESOURCEMANAGER_USER=root
      HADOOP_SECURE_DN_USER=yarn
      YARN_NODEMANAGER_USER=root
    1. Démarrez le service HDFS.

      Ce script démarre NameNode, SecondaryNameNode et DataNode.

      start-dfs.sh

      HDFS est en cours d'exécution lorsque le résultat correspond à ce qui suit.

      [ecs-user@hadoop001 ~]$ start-dfs.sh
      Starting namenodes on [localhost]
      Starting datanodes
      Starting secondary namenodes [hadoop001]
    2. Démarrez le service YARN.

      Ce script démarre ResourceManager, NodeManager et ApplicationHistoryServer.

      start-yarn.sh

      YARN est en cours d'exécution lorsque le résultat correspond à ce qui suit.

      [ecs-user@hadoop001 ~]$ start-yarn.sh
      Starting resourcemanager
      Starting nodemanagers
  3. Consultez les processus démarrés.

    jps

    Les processus démarrés sont les suivants.

    [ecs-user@hadoop001 ~]$ jps
    13648 NameNode
    14513 NodeManager
    13811 DataNode
    14024 SecondaryNameNode
    14298 ResourceManager
    14861 Jps
  4. Dans votre navigateur, saisissez http://<Adresse IP publique de l'instance ECS>:8088 pour accéder à l'interface web YARN.

    Vous pouvez y consulter l'utilisation des ressources du cluster, l'état des tâches MapReduce et les informations sur les files d'attente.

    Important

    Autorisez le trafic entrant sur le port 8088 dans le groupe de sécurité. Sans cette règle, l'interface web reste inaccessible. Consultez la rubrique Ajouter une règle de groupe de sécurité.

    Une fois l'accès établi, la page affiche la vue d'ensemble de All Applications. Dans la section Cluster Metrics, le champ Active Nodes indique 1 et Total Resources affiche memory:8 GB, vCores:8, ce qui confirme que YARN ResourceManager fonctionne correctement.

  5. Dans votre navigateur, saisissez http://<Adresse IP publique de l'instance ECS>:9870 pour accéder à l'interface web NameNode.

    Vous pouvez y consulter l'état HDFS, la santé du cluster, les nœuds actifs et les journaux NameNode.

    Une fois l'accès établi, l'interface web NameNode confirme que l'environnement pseudo-distribué est opérationnel.

    Important

    Autorisez le trafic entrant sur le port 9870 dans le groupe de sécurité. Sans cette règle, l'interface web reste inaccessible. Consultez la rubrique Ajouter une règle de groupe de sécurité.

Opérations supplémentaires

Créer un groupe de snapshots cohérents

Pour Hadoop distribué, utilisez un groupe de snapshots cohérents afin de garantir la cohérence des données sur l'ensemble du cluster. Consultez la rubrique Créer un groupe de snapshots cohérents.

Opérations liées à Hadoop

Pour les opérations HDFS, consultez la rubrique Commandes HDFS courantes.

Références