hadoop - encontrĂ³ - Datanode no se inicia correctamente
descargar hadoop (9)
Estoy tratando de instalar Hadoop 2.2.0 en modo pseudo-distribuido. Mientras intento iniciar los servicios de nodo de datos, aparece el siguiente error: ¿alguien puede decir cómo resolver esto?
**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:
Aquí, el nodo de datos se detiene inmediatamente porque el clusterID de datanode y namenode son diferentes. Por lo tanto, debe formatear el clusterID de namenode con clusterID de datanode
Copie el cluster ID de nodo de datos para su ejemplo, CID-8bf63244-0510-4db6-a949-8f74b50f2be9 y ejecute el siguiente comando desde su directorio de inicio. Puede ir a su directorio de inicio simplemente escribiendo cd
en su terminal.
Desde tu directorio de inicio, ahora escribe el comando:
hdfs namenode -format -clusterId CID-8bf63244-0510-4db6-a949-8f74b50f2be9
Cada vez que encuentre un error por debajo, intente iniciar un DN en una máquina esclava:
java.io.IOException: Incompatible clusterIDs in /home/hadoop/dfs/data: namenode clusterID= ****; datanode clusterID = ****
Es porque después de configurar su clúster, usted, por la razón que sea, decidió reformatear su NN. Sus DNs sobre esclavos todavía hacen referencia al antiguo NN.
Para resolver esto, simplemente elimine y vuelva a crear la carpeta de datos en esa máquina en Linux FS local, es decir, / home / hadoop / dfs / data.
Al reiniciar el daemon de DN en esa máquina, se recreará el contenido de datos / carpetas y se resolverá el problema.
DataNode muere debido a Clusterids incompatibles en comparación con NameNode. Para solucionar este problema, debe eliminar el directorio / tmp / hadoop- [usuario] / hdfs / data y reiniciar hadoop.
rm -r /tmp/hadoop-[user]/hdfs/data
Debes hacer lo siguiente:
-
bin/stop-all.sh
-
rm -Rf /home/prassanna/usr/local/hadoop/yarn_data/hdfs/*
-
bin/hadoop namenode -format
Tuve el mismo problema hasta que encontré una respuesta en este sitio web .
Elimine los directorios namenode y datanode tal como se especifica en core-site.xml. Después de eso crea los nuevos directorios y reinicia el dfs y el hilo.
Puedes hacer el siguiente método,
copiar al Portapapeles datanode clusterID para su ejemplo, CID-8bf63244-0510-4db6-a949-8f74b50f2be9
y ejecute el siguiente comando en el directorio HADOOP_HOME / bin
./hdfs namenode -format -clusterId CID-8bf63244-0510-4db6-a949-8f74b50f2be9
luego, este código formateó el namenode con ID de clúster de nodo de datos.
Siga los pasos simples
- Borre el directorio de datos de hadoop
- Formatee el namenode nuevamente
- iniciar el clúster
Después de esto, su clúster comenzará normalmente si no tiene otro problema de configuración
También tuve el problema similar. Eliminé las carpetas namenode y datanode de todos los nodos y volví a ejecutar:
$HADOOP_HOME/bin> hdfs namenode -format -force
$HADOOP_HOME/sbin> ./start-dfs.sh
$HADOOP_HOME/sbin> ./start-yarn.sh
Para verificar el informe de salud desde la línea de comandos (que recomendaría)
$HADOOP_HOME/bin> hdfs dfsadmin -report
y obtuve todos los nodos funcionando correctamente.
Tengo un problema similar en mi entorno pseudo distribuido. Primero detuve el clúster, luego copié el ID del clúster del archivo de versión de NameNode y lo puse en el archivo de versión de DataNode, y luego de reiniciar el clúster, todo está bien.
mi ruta de datos está aquí / usr / local / hadoop / hadoop_store / hdfs / datanode y / usr / local / hadoop / hadoop_store / hdfs / namenode.
FYI: el archivo de versión está en / usr / local / hadoop / hadoop_store / hdfs / datanode / current /; del mismo modo para NameNode.