standalone para online instalar framework ecosystem hadoop hadoop2 hadoop-plugins

para - DataNode no se inicia en singlenode hadoop 2.6.0



hadoop standalone (10)

Instalé hadoop 2.6.0 en mi computadora portátil con Ubuntu 14.04LTS. Comencé con éxito los demonios de start-all.sh ejecutando start-all.sh y start-all.sh un ejemplo de WourdCount éxito, luego traté de ejecutar un ejemplo de jar que no funcionó conmigo, así que decido formatear usando el formato hadoop namenode -format y comenzar de nuevo otra vez, pero cuando comienzo a todos los demonios usando start-dfs.sh && start-yarn.sh entonces jps all daemons se ejecuta pero no el datanode como se muestra a continuación:

hdferas@feras-Latitude-E4310:/usr/local/hadoop$ jps 12628 NodeManager 12110 NameNode 12533 ResourceManager 13335 Jps 12376 SecondaryNameNode

¿Cómo resolver eso?


El problema anterior se produjo debido al formato del namenode (hadoop namenode -format) sin detener los dfs y los daemons de hilo. Mientras se forma el namenode, aparece la pregunta que aparece a continuación y presiona la tecla Y para esto. ¿Volver a formatear el sistema de archivos en el Directorio de almacenamiento / tmp / hadoop-root / dfs / name? (S o N)

Solución: debe eliminar los archivos dentro del directorio actual (nombre de directorio) de dfs.name.dir, que menciona en hdfs.site.xml. En mi sistema dfs.name.dir está disponible en / tmp / hadoop-root / dfs / name / current. rm -r / tmp / hadoop-root / dfs / name / current Usando el comentario anterior, eliminé los archivos dentro del directorio actual. Asegúrese de que solo está eliminando el directorio "actual". Vuelva a formatear el namenode después de detener los dfs y los daemons de hilo (stop-dfs.sh & stop-yarn.sh). Ahora datanode se iniciará normalmente !!


Estoy usando hadoop-2.6.0. Resolví usando:

1.Borrar todos los archivos en / usr / local / hadoop_store / hdfs

comando: sudo rm -r / usr / local / hadoop_store / hdfs / *

2.Format hadoop namenode

comando: hadoop namenode -format

3. Vaya al directorio ... / sbin (cd / usr / local / hadoop / sbin)

start-all.sh

  1. use el comando ==> hduser @ abc-3551: / $ jps

Los siguientes servicios se iniciarían ahora:

19088 Jps 18707 ResourceManager 19043 NodeManager 18535 SecondaryNameNode 18329 DataNode 18159 NameNode


He enfrentado este problema y es muy fácil de resolver. Su datanode no se está iniciando porque después de que su namenode y datanode comenzaron a ejecutarse, formatearon nuevamente el namenode. Eso significa que ha borrado los metadatos de namenode. Ahora los archivos que ha almacenado para ejecutar el recuento de palabras aún están en el nodo de datos y el nodo de datos no tiene idea de dónde enviar los informes de bloque, ya que usted formateó el namenode para que no se inicie.

Estas son las cosas que debe hacer para solucionarlo. Detenga todos los servicios de Hadoop (stop-all.sh) y cierre todas las conexiones ssh activas.

cat /usr/local/hadoop/etc/hadoop/hdfs-site.xml

Este paso es importante, vea dónde se almacenan los datos de datanode. Es el valor asociado para datanode.data.dir. Para mí es / usr / local / hadoop / hadoop_data / hdfs / datanode. Abra su terminal y navegue hasta el directorio anterior y elimine el directorio denominado actual que estará allí debajo de ese directorio. Asegúrese de que solo está eliminando el directorio "actual".

sudo rm -r /usr/local/hadoop/hadoop_data/hdfs/datanode/current

Ahora formatee el namenode y verifique si todo está bien.

hadoop namenode -format

Di que si te pide algo.

jps

Espero que mi respuesta resuelva el problema. Si no me lo hace saber.

Pequeño consejo: No formatees tu namenode. Sin namenode no hay manera de reconstruir los datos. Si tu cuenta de palabras no se está ejecutando, es otro problema.


Incluso tuve el mismo problema y verifiqué el registro y encontré el siguiente error

Excepción - Datanode log FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Excepción en secureMain java.io.IOException: Todos los directorios en dfs.datanode.data.dir no son válidos: "/ usr / local / hadoop_store / hdfs / datanode /

Ejecute el siguiente comando para resolver el problema

sudo chown -R hduser: hadoop / usr / local / hadoop_store

Nota: he creado el namenode y el datanode en la ruta / usr / local / hadoop_store


No es la forma correcta de hacerlo. pero seguramente funciona ~

elimine archivos de su carpeta de datanode, namenode y tmp. cualquier archivo / carpeta creado dentro de estos es propiedad de hadoop y puede tener alguna referencia a los detalles del último nodo de datos de ejecución que pueden haber fallado o bloqueado debido a que el nodo de datos no inicia el siguiente intento


Solo necesita eliminar todo el contenido de la carpeta DataNode y formatear el Datanode usando el siguiente comando

hadoop namenode -format


Tengo el mismo problema ( DataNode y TaskTracker no aparecerían ).

RESOLUCIÓN: ELIMINE CADA SUB DIRECTORIO "ACTUAL" BAJO: datos, nombre y nombre de segundo para resolver DataNode / taskTracker que no se muestra cuando inicia-all.sh, luego jps

(Mi ubicación en dfs.name.dir es: / home / training / hadoop-temp / dfs / data / current; / home / training / hadoop-temp / dfs / name / current; / home / training / hadoop-temp / dfs / nombresecundaria / actual

Asegúrate de detener los servicios: stop-all.sh

1. Vaya a cada subdirectorio "actual" debajo de datos, nombre, nombre de segundo y elimine / elimine (ejemplo: rm -r nombre / actual)

2. Luego formatea: hadoop namenode -format

3. mkdir current en / home / training / hadoop-temp / dfs / data / current

4. Tome el directorio y los contenidos de / home / training / hadoop-temp / dfs / name / current y cópielos en el directorio / data / current

EJEMPLO: archivos bajo:

/ home / training / hadoop-temp / dfs / name / current

[entrenamiento @ CentOS actual] $ ls -l

-rw-rw-r--. 1 entrenamiento entrenamiento 9901 sep 25 01:50 ediciones

-rw-rw-r--. 1 entrenamiento entrenamiento 582 sep 25 01:50 fsimage

-rw-rw-r--. 1 entrenamiento entrenamiento 8 sep 25 01:50 fstime

-rw-rw-r--. 1 entrenamiento entrenamiento 101 sep 25 01:50 VERSIÓN

5. Cambie storageType = NAME_NODE en VERSION a storageType = DATA_NODE en los datos / current / VERSION que acaba de copiar.

ANTES DE:

[training @ CentOS dfs] $ cat data / current / VERSION

namespaceID = 1018374124

cTime = 0

storageType = NAME_NODE

layoutVersion = -32

DESPUÉS:

[training @ CentOS dfs] $ cat data / current / VERSION

namespaceID = 1018374124

cTime = 0

storageType = DATA_NODE

layoutVersion = -32

6. Asegúrese de que cada subdirectorio a continuación tenga los mismos archivos que nombre / actual tiene para los datos, nombre, nombre de segundo nombre

[training @ CentOS dfs] $ pwd

/ home / training / hadoop-temp / dfs /

[training @ CentOS dfs] $ ls -l

total 12

drwxr-xr-x. 5 entrenamiento entrenamiento 4096 sep 25 01:29 datos

drwxrwxr-x. 5 entrenamiento entrenamiento 4096 sep 25 01:19 nombre

drwxrwxr-x. 5 entrenamiento entrenamiento 4096 sep 25 01:29 namesecondary

7. Ahora inicie los servicios: start-all.sh Debe ver los 5 servicios cuando escribe: jps


Tuve este problema al formatear namenode también. Lo que hice para resolver el problema fue:

  1. Encuentra tu ubicación dfs.name.dir . Consideremos, por ejemplo, que dfs.name.dir es /home/hadoop/hdfs .

(a) Ahora vaya a, /home/hadoop/hdfs/current .

(b) Busca el archivo VERSION . Ábrelo usando un editor de texto.

(c) Habrá una línea namespaceID=122684525 (122684525 es mi ID, la suya será diferente). Anote la identificación hacia abajo.

  1. Ahora encuentra tu ubicación hadoop.tmp.dir . El mío es /home/hadoop/temp .

(a) Vaya a /home/hadoop/temp/dfs/data/current .

(b) Busque el archivo VERSION y ábralo con un editor de texto.

(c) Habrá una línea namespaceID= . El ID de espacio de nombres en este archivo y el anterior debe ser el mismo.

(d) Esta es la razón principal por la que no se inició mi datanode. Los hice ambos iguales y ahora datanode comienza bien.

Nota: copie el namespaceID de /home/hadoop/hdfs/current/VERSION a /home/hadoop/temp/dfs/data/current/VERSION . No lo hagas al revés.

  1. Ahora haga start-dfs.sh && start-yarn.sh . Se iniciará Datanode.

agregue la siguiente propiedad en yarn-site.xml

<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property>


en core-site.xml compruebe la ruta absoluta del directorio temporal, si esto no se apunta correctamente o no se crea (mkdir). El nodo de datos no se puede iniciar.