Tous les produits
Search
Centre de documentation

E-MapReduce:FAQ

Dernière mise à jour :Aug 09, 2026

Questions fréquentes sur la stabilité du service ZooKeeper, les limites de connexion et la migration du répertoire de données.

Instabilité du service ou redémarrages inattendus

La cause la plus fréquente d'instabilité réside dans un nombre élevé de znodes ou une taille importante des snapshots. Comme ZooKeeper conserve tous les znodes en mémoire et synchronise les données entre les nœuds, un excès de znodes ou de snapshots nuit à la stabilité. Il est recommandé de maintenir le nombre de znodes inférieur à 100 000 et la taille des snapshots inférieure à 800 Mo.

  • Vous pouvez consulter le nombre de znodes de votre cluster ZooKeeper dans l'onglet Monitoring de la console E-MapReduce.

  • Vérifiez la taille des snapshots.

    1. Dans l'onglet Configure du service ZooKeeper, repérez la valeur du paramètre dataDir pour identifier le répertoire de données ZooKeeper.

    2. Exécutez la commande suivante pour vérifier la taille des snapshots dans le répertoire de données ZooKeeper.

      ls -lrt /mnt/disk1/zookeeper/data/version-2/snapshot*

      Si le nombre de znodes ou la taille des snapshots est trop important, analysez la distribution des znodes afin d'éviter que les applications associées ne sollicitent excessivement ZooKeeper.

Migration du répertoire de données

Si vous devez modifier le répertoire de données ZooKeeper en raison d'un espace disque insuffisant ou de performances disque médiocres, migrez le répertoire individuellement sur chaque nœud. Cette approche permet d'éviter l'arrêt complet du service ZooKeeper.

Remarque

Par exemple, cette procédure permet de changer le répertoire de données de

/mnt/disk1/zookeeper/data

vers

/mnt/disk2/zookeeper/data

. Dans cet exemple de cluster, le nœud master-1-2 est le leader, tandis que les nœuds master-1-1 et master-1-3 sont des followers. Migrez d'abord les followers, puis le leader.

  1. Modifiez le répertoire de données et enregistrez la configuration.

    1. Dans l'onglet Configure du service ZooKeeper, recherchez le paramètre dataDir et remplacez sa valeur par le nouveau répertoire, /mnt/disk2/zookeeper/data.

    2. Cliquez sur Save.

    3. Dans la boîte de dialogue qui s'affiche, saisissez un motif d'exécution et cliquez sur Save.

  2. Déployez la configuration.

    1. Dans l'onglet Configure du service ZooKeeper, cliquez sur Deploy Client Configuration.

    2. Dans la boîte de dialogue qui s'affiche, saisissez le motif d'exécution et cliquez sur OK.

    3. Dans la boîte de dialogue Confirm, cliquez sur OK.

  3. Facultatif : Vérifiez le répertoire de données.

    1. Connectez-vous au cluster via SSH. Pour plus d'informations, consultez la rubrique Connexion à un cluster.

    2. Exécutez la commande suivante pour afficher la valeur du paramètre dataDir dans le fichier de configuration zoo.cfg.

       cat /etc/emr/zookeeper-conf/zoo.cfg

      Le résultat confirme que le répertoire de données a été mis à jour.

  4. Arrêtez le nœud master-1-1.

    1. Dans l'onglet Status, cliquez sur STOP dans la colonne Actions pour le nœud master-1-1.

    2. Dans la boîte de dialogue Execute Cluster Action, saisissez le motif d'exécution et cliquez sur OK.

    3. Dans la boîte de dialogue Confirm, cliquez sur OK.

  5. Migrez le répertoire.

    1. Connectez-vous au cluster via SSH. Pour plus d'informations, consultez la rubrique Connexion à un cluster.

    2. Exécutez la commande suivante sur le nœud master-1-1 pour migrer le répertoire et définir les autorisations requises.

      sudo rm -rf /mnt/disk2/zookeeper && sudo cp -rf /mnt/disk1/zookeeper /mnt/disk2/zookeeper && sudo chown hadoop:hadoop -R /mnt/disk2/zookeeper
  6. Démarrez le nœud master-1-1.

    1. Dans l'onglet Status, cliquez sur START dans la colonne Actions pour ZookeeperServer.

    2. Dans la boîte de dialogue qui s'affiche, saisissez le motif d'exécution et cliquez sur OK.

    3. Dans la boîte de dialogue Confirm, cliquez sur OK.

      Actualisez la page jusqu'à ce que l'état de santé (Health Status) du nœud master-1-1 passe à Good.

  7. Connectez-vous au nœud master-1-3 et répétez les étapes Étape 4 à Étape 6.

  8. Connectez-vous au nœud master-1-2 et répétez les étapes Étape 4 à Étape 6.

    La migration est terminée lorsque tous les nœuds sont sains.

    Remarque

    Le nœud master-1-2 était initialement le leader. Après son arrêt, il devient un follower, et l'un des deux autres nœuds est élu comme nouveau leader.