Datanode ne démarre correctement
Je suis en train d'installer Hadoop 2.2.0 en pseudo-mode distribué. Tandis que j'essaie de démarrer le datanode services il affiche l'erreur suivante, quelqu'un peut s'il vous plaît dites comment résoudre ce problème?
**2**014-03-11 08:48:15,916 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Block pool <registering> (storage id unknown) service to localhost/127.0.0.1:9000 starting to offer service
2014-03-11 08:48:15,922 INFO org.apache.hadoop.ipc.Server: IPC Server Responder: starting
2014-03-11 08:48:15,922 INFO org.apache.hadoop.ipc.Server: IPC Server listener on 50020: starting
2014-03-11 08:48:16,406 INFO org.apache.hadoop.hdfs.server.common.Storage: Lock on /home/prassanna/usr/local/hadoop/yarn_data/hdfs/datanode/in_use.lock acquired by nodename 3627@prassanna-Studio-1558
2014-03-11 08:48:16,426 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for block pool Block pool BP-611836968-127.0.1.1-1394507838610 (storage id DS-1960076343-127.0.1.1-50010-1394127604582) service to localhost/127.0.0.1:9000
java.io.IOException: Incompatible clusterIDs in /home/prassanna/usr/local/hadoop/yarn_data/hdfs/datanode: namenode clusterID = CID-fb61aa70-4b15-470e-a1d0-12653e357a10; datanode clusterID = CID-8bf63244-0510-4db6-a949-8f74b50f2be9
at**** org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:391)
at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:191)
at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:219)
at org.apache.hadoop.hdfs.server.datanode.DataNode.initStorage(DataNode.java:837)
at org.apache.hadoop.hdfs.server.datanode.DataNode.initBlockPool(DataNode.java:808)
at org.apache.hadoop.hdfs.server.datanode.BPOfferService.verifyAndSetNamespaceInfo(BPOfferService.java:280)
at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.connectToNNAndHandshake(BPServiceActor.java:222)
at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.java:664)
at java.lang.Thread.run(Thread.java:662)
2014-03-11 08:48:16,427 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Ending block pool service for: Block pool BP-611836968-127.0.1.1-1394507838610 (storage id DS-1960076343-127.0.1.1-50010-1394127604582) service to localhost/127.0.0.1:9000
2014-03-11 08:48:16,532 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Removed Block pool BP-611836968-127.0.1.1-1394507838610 (storage id DS-1960076343-127.0.1.1-50010-1394127604582)
2014-03-11 08:48:18,532 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Exiting Datanode
2014-03-11 08:48:18,534 INFO org.apache.hadoop.util.ExitUtil: Exiting with status 0
2014-03-11 08:48:18,536 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: SHUTDOWN_MSG:
- vous pouvez également bénéficier de l'un de mes post... depuis que j'ai appris de mon erreur d'autres personnes pourrait faire gagner du temps avec le lien suivant, cela devrait vous aider à corriger la VERSION correcte du fichier stackoverflow.com/questions/35108445/...
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le faire à la méthode suivante,
et exécuter la commande suivante en vertu de HADOOP_HOME/bin
ce code formaté le namenode avec datanode cluster id.
VERSION
fichier, et de définirclusterId
à la valeur correcte. Mon chemin vers le fichier a été/usr/local/Cellar/hadoop/hdfs/tmp/dfs/name/current
format
sons effrayants. Quelqu'un pourrait préciser pour moi?clusterId
de la datanode a été utilisé danshdfs namenode -format -clusterId CID-8bf63244-0510-4db6-a949-8f74b50f2be9
(exécuté sur le namenode).Vous devez procéder comme suit :
bin/stop-all.sh
rm -Rf /home/prassanna/usr/local/hadoop/yarn_data/hdfs/*
bin/hadoop namenode -format
J'ai eu le même problème jusqu'à ce que j'ai trouvé une réponse dans ce site web.
Chaque fois que vous obtenez l'erreur ci-dessous, en essayant de démarrer un nom de domaine sur un esclave de la machine:
C'est parce qu'après la configuration de votre cluster, vous, pour quelque raison que ce soit, a décidé de reformater
votre NN. Votre DNs sur les esclaves portent encore la référence à l'ancien NN.
Pour résoudre ce tout simplement la supprimer et la recréer dossier de données sur la machine en local Linux FS, à savoir /home/hadoop/dfs/données.
Redémarrage que le DN du démon sur cette machine va recréer de données/d'un dossier de contenu et de résoudre les
le problème.
N'étapes simples suivantes
Après cela, votre cluster de démarrer normalement, si vous n'êtes pas avoir un autre problème de configuration
DataNode meurt à cause de l'incompatibilité des Clusterids par rapport à la NameNode. Pour résoudre ce problème, vous devez supprimer le répertoire /tmp/hadoop-[utilisateur]/hdfs/données et redémarrer hadoop.
J'ai eu même problème dans mon pseudo environnement distribué. J'ai arrêté de cluster d'abord, puis j'ai copié Cluster ID de NameNode version du fichier et le mettre dans DataNode de version de fichier, puis après le redémarrage du cluster, tout est bien.
mon chemin de données est ici /usr/local/hadoop/hadoop_store/hdfs/datanode et /usr/local/hadoop/hadoop_store/hdfs/namenode.
Pour info : version du fichier est dans /usr/local/hadoop/hadoop_store/hdfs/datanode/actuel/; de même pour le NameNode.
Ici, le datanode s'arrête immédiatement, car le clusterID de datanode et namenode sont différents. Donc, vous devez formater la clusterID de namenode avec clusterID de datanode
Copiez le datanode clusterID pour votre exemple, CID-8bf63244-0510-4db6-a949-8f74b50f2be9 et exécuter la commande suivante à partir de votre répertoire d'accueil. Vous pouvez aller à votre maison dir simplement en tapant
cd
sur votre terminal.À partir de votre home maintenant, tapez la commande:
Supprimer le namenode et datanode les répertoires spécifiés dans la core-site.xml.
Après que créer de nouveaux répertoires et redémarrez le dfs et de fils.
J'ai également eu le même problème.
J'ai supprimé le namenode et datanode des dossiers à partir de tous les nœuds, et exécutez à nouveau:
Pour vérifier le rapport sur la santé en ligne de commande (que je recommande)
et j'ai obtenu tous les nœuds de fonctionner correctement.
J'ai eu même problème pour hadoop 2.7.7
J'ai enlevé le namenode/courant & datanode/répertoire en cours sur le namenode et tous les datanodes
/tmp/hadoop-ubuntu/*
suit:
arrêter tous les nœuds/gestionnaires puis essayez les étapes ci-dessous
rm -rf /tmp/hadoop-ubuntu/*
(tous les nœuds)rm -r /usr/local/hadoop/data/hdfs/namenode/current
(namenode: vérifierhdfs-site.xml
pour le chemin)rm -r /usr/local/hadoop/data/hdfs/datanode/current
(datanode:vérifierhdfs-site.xml
pour le chemin)hdfs namenode -format
(sur namenode)hdfs datanode -format
(sur namenode)