Red de conocimiento informático - Material del sitio web - ¿Qué problemas y soluciones de Hadoop deben considerar los principiantes en big data?

¿Qué problemas y soluciones de Hadoop deben considerar los principiantes en big data?

Creo que todos encontrarán varios problemas al aprender Big Data Hadoop. Este artículo presenta principalmente algunos problemas y soluciones comunes.

1. El nodo de nombre no se puede iniciar sin error

Las posibles razones son: se inició como root antes, lo que provocó que los permisos y la propiedad de la carpeta actual cambiaran y es necesario hacerlo. cambiado de nuevo

Solución: la carpeta actual está ubicada en el directorio secundario de nombre tmp/dfs/hadoop al mismo nivel que el directorio de instalación de hadoop

Este artículo presenta principalmente algunos problemas y soluciones comunes . name secondary

2, WARN util.NativeCodeLoader: no se puede cargar la biblioteca local-hadoop para su plataforma

Solución alternativa: verifique los archivos locales:

[root@db96 hadoop ]# archivo /usr/local/hadoop/lib/native/libhadoop.so.1.0.0

/usr/local/hadoop/lib/native/libhadoop.so.1.0.0: ELF 32 bits Objeto compartido LSB,

Intel 80386, versión 1 (SYSV), vinculado dinámicamente, no eliminado

Este es un hadoop de 32 bits, instalado en un sistema Linux de 64 bits.

Solución: Recompilar hadoop, es decir, recompilar el software hadoop.

3. Hadoop informó un error: se copió en 0 nodos en lugar de 1

Causa (1) el ID del espacio de nombres es inconsistente (2) el disco duro no es suficiente

Solución (1) Detener el nodo de datos (2) Eliminar todos los datos en datadir. (3) Reinicie el nodo de datos

4. La proporción de bloques de informes 0,0000 no alcanza el umbral 0,9990. El modo seguro se desactivará automáticamente.

Resultado: el registro muestra que /home/hadoop/tmp/mapred/system no se puede eliminar. (En realidad, esto es solo una ilusión. Muchas veces ingresaremos a este directorio, pero no es el caso)

Solución:

(1): La forma definitiva de forzar la salida desde el método del modo seguro (modo seguro)

hadoop dfsadmin -safemode dejar

Este método es muy rápido, pero habrá un problema restante que encontré al usar habse y fue muy. problemático En este caso, puede utilizar la herramienta "hadoop fsck /" para restaurar lentamente.

(2): Elimina todos los archivos en /home/hadoop/tmp bajo namenode y formatéalo. Por supuesto, este es un método muy violento porque tus datos han desaparecido por completo

( 3): Refiriéndonos al código fuente, podemos encontrar que se produce un error al verificar el archivo, que básicamente se debe a bloqueos de archivos. Esto es básicamente el resultado de bloques faltantes, errores, etc. en el archivo.

Esta situación será muy difícil cuando el número de copia sea 1. En otras ocasiones, Hadoop básicamente puede resolver el problema por sí solo. Si hay muchos errores, siempre estará en modo seguro. Por supuesto, debe preocuparse por Después de modificar y distribuir el archivo de configuración del clúster, escribí una herramienta de distribución de archivos de configuración para forzar al sistema a salir del modo seguro. Primero garantice la lectura y escritura normales y luego habilite la herramienta "hadoop fsck /". para repararlo lentamente.

5. Denegar el acceso al usuario 'root'@'hadoop1master' (use contraseña: SÍ)

Motivo: ningún usuario, excepto los locales, puede conectarse de forma remota

Solución: modifique la tabla mysql y cambie localhost a %

Error al ejecutar estadísticas locales de recuento de palabras

El motivo del error es la falta de hadoop.dll (hadoop2.6.0). versión compilada). Debe copiar hadoop.dll al directorio hadoop2.6.0/bin.

Ejecutar nuevamente sin reportar error.

7. Ejecute la API para informar problemas de permisos, use hadoop y queremos usar root

Motivo: configurar las variables de entorno para establecer HADOOP_USER_NAME = hadoop o configurar -DHADOOP_USER_NAME = hadoop configuración en ejecución

Motivo: establezca HADOOP_USER_NAME = hadoop en la variable de entorno de configuración o establezca -DHADOOP_USER_NAME= hadoop en la configuración en ejecución.

Solución: establezca HADOOP_USER_NAME=root en la variable de entorno de configuración o configúrelo en la configuración en ejecución -DHADOOP_USER_NAME=root

8.SafeModeException: el nodo de nombre está en modo seguro modo seguro

Solución: bin/hadoop dfsadmin -safemode se va, es decir. , desactivando el modo seguro de Hadoop, para que el problema desaparezca Resuelto.

9. Se produce un error al usar java -jar para ejecutar un trabajo de hadoop

Causa: el uso de la importación mapreduce de hadoop requiere la mayoría de los paquetes de dependencia de hadoop durante la ejecución, por lo que lo anterior se produce un error Falta el paquete de dependencia de hadoop

Solución: NativeIO$Windows.access0(Ljava/lang/String

Por lo general, este problema es causado por la variable de entorno local de hadoop. Necesita para establecer El valor de la variable hadoop_home. Tenga en cuenta que las bibliotecas de enlaces dinámicos hadoop.dll y winutils.exe faltan en el directorio bin del directorio de instalación de hadoop. Además, el editor debe agregar el entorno hadoop y jdk. para que se instale correctamente

11. Cuando se utiliza hdfs copyfromlocal para cargar archivos en hdfs, se produce una excepción que indica que no se puede encontrar el archivo local, pero verifique que el archivo local exista

<. p>Razón: Windows La extensión del archivo conocido está configurada para estar oculta, por lo que no se escribe ninguna extensión al cargar el archivo

Solución: simplemente agregue la extensión al archivo cargado

<. p>12. Se produjo un error al ejecutar hadoop-deamon.sh para iniciar xxx veces

Causa: El nombre del nodo se escribió incorrectamente durante el inicio

Solución: Modificar el nombre, Los nombres incluya namenode, datanode, etc.

13. Hadoop 8088 no puede ver el estado de ejecución de la tarea mapreduce y no se muestran datos

Solución:

(1 ) Primero verifique si la configuración de su clúster $HADOOP_HOME/conf/mapred-site.xml existe

Si mapreduce.framework.name está configurado en él.

(2) Si no tiene éxito, agregue el siguiente contenido según el archivo de configuración original en $HADOOP_HOME/conf/mapred-site.xml

mapreduce.jobhistory.addressname>< / p>

master.10020value>

propiedad>

mapreduce.jobhistory.webapp.addressname>

master:19888value>

property>.

14, seguridad.AccessControlException: Se deniega el acceso al usuario sunqw. Se requieren permisos de superusuario

Solución:

Método 1:

Agregue HADOOP_USER_NAME a la variable de entorno del sistema con el valor raíz;

O agréguelo dinámicamente a través del programa Java, como se muestra a continuación: 1System.setProperty("HADOOP_USER_NAME", "root");

Método 2:

Utilice Eclipse para escribir cuando no sea hadoop está ejecutando el sistema de archivos HDFS, debido a que sunqw no tiene permiso de escritura en el directorio "/", provocará una excepción. La solución es utilizar el siguiente comando en hadoop para abrir los permisos del directorio HDFS: hadoop fs -chmod 777 / .

Método 3:

Modificar el archivo de configuración de hadoop: conf /hdfs-core .xml, agregue o modifique el valor de dfs.permissions a falso.

Método 4:

Cambie el nombre de la máquina donde se encuentra Eclipse a root, que es el mismo nombre que el servidor que ejecuta hadoop.