web-dev-qa-db-fra.com

Pourquoi Hadoop signale-t-il que "les répertoires locaux et les répertoires de journalisation des nœuds malsains sont incorrects"?

J'essaie de configurer un cluster Hadoop 2.6.0 à nœud unique sur mon PC.

En visitant http: // localhost: 8088/cluster , je constate que mon nœud est répertorié comme "nœud malsain".

Dans le rapport sur la santé, cela indique l'erreur:

1/1 local-dirs are bad: /tmp/hadoop-hduser/nm-local-dir; 
1/1 log-dirs are bad: /usr/local/hadoop/logs/userlogs

Qu'est-ce qui ne va pas?

21
Ra41P

La cause la plus courante de local-dirs are bad est due à l'espace disque disponible sur le nœud dépassant la valeur par défaut max-disk-utilization-per-disk-percentage du fil, 90.0%

Nettoyez le disque sur lequel le nœud défaillant est en cours d’exécution ou augmentez le seuil dans yarn-site.xml

<property>
  <name>yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage</name>
  <value>98.5</value>
</property>

Évitez de désactiver la vérification du disque, car vos travaux risquent d'échouer lorsque le disque manquera éventuellement d'espace ou s'il existe des problèmes d'autorisation. Reportez-vous à la section yarn-site.xml Vérificateur de disque pour plus de détails. 

FSCK

Si vous pensez qu'il y a une erreur de système de fichiers dans le répertoire, vous pouvez vérifier en exécutant

hdfs fsck /tmp/hadoop-hduser/nm-local-dir
44
Hanxue

Essayez d’ajouter la configuration dans yarn-site.xml

<property>
   <name>yarn.nodemanager.disk-health-checker.enable</name>
   <value>false</value>
</property>

Cela peut fonctionner sur mon site.

Et lancez le répertoire/usr/local/hadoop/logs. ex: 

rm -rf /usr/local/hadoop/logs
mkdir -p /usr/local/hadoop/logs
7
Owen

J'ai eu un problème similaire au début.

Ensuite, j'ai aussi trouvé un autre problème. Lorsque j'ai utilisé la commande jps, certains processus tels que NameNode, DataNode, etc. étaient manquants.

$jps
13696 Jps
12949 ResourceManager
13116 NodeManager

Ensuite, je l'ai corrigé à partir de solution et le problème de noeud malsain a été automatiquement résolu.

3
Nazmul Haque

Cela peut également être dû à l'emplacement incorrect du répertoire de journal configuré par yarn.nodemanager.log-dirs dans yarn-site.xml. Soit par le répertoire fait n'existe pas ou a les autorisations mal définies.

3
kokosing

Sur macOS avec Hadoop installé à l'aide de brew, j'ai dû modifier /usr/local/Cellar/hadoop/2.8.1/libexec/etc/hadoop/yarn-site.xml pour inclure les éléments suivants:

<property>
  <name>yarn.nodemanager.disk-health-checker.min-healthy-disks</name>
  <value>0</value>
</property>

Le paramètre a fondamentalement désactivé complètement la vérification de l'état du disque

J'ai trouvé le fichier en utilisant brew list hadoop.

$ brew list hadoop | grep yarn-site.xml
/usr/local/Cellar/hadoop/2.8.1/libexec/etc/hadoop/yarn-site.xml
/usr/local/Cellar/hadoop/2.8.1/libexec/share/hadoop/tools/sls/sample-conf/yarn-site.xml
1
Jacek Laskowski

J'ai eu un problème similaire, le téléchargement de sqoop a été corrigé lorsque les hdfs ont atteint 90%. Après avoir modifié un seuil pour le pourcentage d'utilisation du disque maximum et le pourcentage de définition du seuil d'alarme, le téléchargement fonctionne à nouveau. Merci

0
mates

Je l’ai expérimenté lorsque le disque est à 90% (avec> df) et j’enlève les fichiers inutiles pour qu’il devienne 85% (paramètre par défaut de yarn.nodemanager.disk-health-checker.max pourcentage utilise 90% du disque disponible si vous ne spécifiez pas dans yarn-site.xml) et que le problème est résolu.

L'effet est similaire si vous augmentez l'utilisation à plus de 90% (si vous voulez que l'espace supplémentaire disponible dans mon cas soit saturé à 90%), il vous suffit juste de libérer de l'espace supplémentaire. Cependant, il est de bonne pratique de ne pas dépasser 90% de toute façon.

0
r poon