2012-04-15 10 views
5

Estoy ejecutando un clúster de un solo nodo usando hadoop versión 1.0.1 y Ubuntu Linux 11.10. Estaba ejecutando un script simple cuando se bloqueó, probablemente porque mi computadora se fue a dormir. He intentado volver a formatear el sistema de archivos utilizando¿Cómo puedo formatear y agregar archivos a hadoop después de que se bloqueó?

bin/hadoop NameNode -format

y obtuve el siguiente error:

ERROR namenode.NameNode: java.io.IOException: No se puede bloquear el almacenamiento/app/hadoop/tmp/dfs/nombre. El directorio ya está bloqueado. en org.apache.hadoop.hdfs.server.common.Storage $ StorageDirectory.lock (Storage.java:602)

intento agregar los archivos de entrada con el comando:

fs bin/Hadoop -copyFromLocal DataDirectory/* .txt inputDirectory

y obtener el error:.

12/04/15 09:05:21 WARN hdfs.DFSClient: DataStreamer Excepción: org.apache.hadoop.ipc.RemoteException: java.io .IOException: File/home/hduser /input/book1.txt solo se pudo replicar en 0 nodos, en lugar de 1

12/04/15 09:05:21 WARN hdfs.DFSClient: Recuperación de error para el bloque nulo bad datanode [0] nodes == null 12/04/15 09:05:21 WARN hdfs.DFSClient: Could not get bloquear ubicaciones Archivo de origen "/home/hduser/input/book1.txt" - Abortando ...

Después, veo los archivos en el directorio de entrada, pero sus tamaños son 0. ¿Alguna idea sobre cómo puedo agregar los archivos? Pude agregar los archivos antes de que se estrellara hadoop, por lo que puedo reinstalar Linux y hadoop, pero parece exagerado. Gracias.

Respuesta

3
  1. Intente eliminar manualmente los directorios que almacenan datos para su namenode. Esto se configura mediante propiedades en mapred-site.xml como mapred.local.dir, mapred.system.dir etc. Después de esto, detenga hadoop, vuelva a formatear namenode y vuelva a intentarlo. Si todavía tiene problemas, vaya al paso 2

  2. Intente configurar las configuraciones de namenode en algunas otras rutas en lugar de la actual. Después de esto, detenga hadoop, vuelva a formatear namenode y vuelva a intentarlo. Si todavía tiene problemas, vaya al paso 3

  3. Verifique si hay suficiente espacio en el disco. Si no, cree un espacio en la partición donde se configura namenode. Si todavía tiene problemas, vaya al paso 4

  4. En hdfs.site.xml, configure dfs.replication en 0. Después de esto, detenga hadoop, vuelva a formatear namenode y vuelva a intentarlo.

Si aún tiene problemas, por favor avíseme junto con el error/excepción que recibe.

+0

Gracias, Tejas, pero ahora ni siquiera puede conectarse al host local, incluso después de probar ssh. Es extremo, pero estoy reinstalando Linux. – user1106278

+0

¿Qué errores está recibiendo? –

+0

Esto funcionó para mí, excepto que tuve que establecer dfs.name.dir y dfs.data.dir en el archivo hdfs-site.xml. No estoy seguro de por qué no funcionaba antes, ya que ninguna partición estaba casi llena. – MikeKulls

2

He tenido este tipo de problemas en el pasado, para mí fue porque la partición de mi disco estaba llena. Así que te aconsejo que revises tu disco y veas si está relacionado.

Si es el caso, simplemente libere espacio, reinicie su daemon (puede que tenga que matarlo manualmente, esto sucede a veces), y reinicie.

+0

Gracias, enlazador. – user1106278

5

tiene que dejar la primera hadoop usando

bin/stop-all.sh

continuación, intente formatear el archivo de Inglés ya que el hadoop (nodo nodo del nombre y los datos aún en marcha) que bloquea el archivo sistema, ¿puede eso dar ese error?

así que si después de dar el comando bin/stop-all.sh simplemente matar el proceso para que lo que puede hacer es que le dan los "JPS" comando en la shell y que le mostrará los procesos (procesos) y java tendrá un pid relacionado con cada proceso, puede dar el comando "kill processno" como "kill 23232", así matará todos los procesos, y elimine la carpeta del sistema de archivos hdfs que ha especificado, usando el comando que dijo.

Y también verifique que el espacio en el disco sea suficiente, suponga que ha instalado el ubuntu dentro de las ventanas, puede obtener más espacio especificando su sistema de archivos dentro de/host/y alguna carpeta.

Nota: Usted no necesita dar formato a los hdfs tan sólo se puede detener todo NameNode y el nodo de datos y de nuevo comenzar los procesos de Hadoop, ya que no consigue currupted con frecuencia, después de detener e iniciar hadoop si da cualquier error luego formatee el sistema de archivos.

Hope esto le ayudará a ......

+0

Gracias, Shaswat. – user1106278

0

más importante, comprobar el /etc/hadoop/conf/hdfs-site.xml y asegurarse de que tiene no grasa acarició el mismo valor para :

dfs.name.dir & dfs.data.dir.

Ambos deben tener valores diferentes.

Abby

Cuestiones relacionadas