root# bin/hadoop fs -mkdir t
mkdir: org.apache.hadoop.hdfs.server.namenode.SafeModeException: Cannot create directory /user/root/t. Name node is in safe mode.
no puedo crear nada en hdfs
yo hice
root# bin/hadoop fs -safemode leave
Pero mostrando
safemode: Unknown command
¿Cuál es el problema?

Respuestas:
Para permitir forzosamente que el namenode salga del modo seguro, se debe ejecutar el siguiente comando:
Está obteniendo un
Unknown commanderror para su comando ya-safemodeque no es un subcomando dehadoop fs, pero lo es dehadoop dfsadmin.Además, después del comando anterior, le sugiero que
hadoop fscklo ejecute una vez para que se solucione cualquier inconsistencia que se haya producido en los hdfs.Actualizar:
Use
hdfscomando en lugar dehadoopcomando para distribuciones más nuevas. Elhadoopcomando está en desuso:hadoop dfsadminha quedado obsoleto y también lo es elhadoop fscomando, todas las tareas relacionadas con hdfs se están moviendo a un comando separadohdfs.fuente
hadoop dfsadmincomando, me dio esto:______ DEPRECATED: Use of this script to execute hdfs command is deprecated. Instead use the hdfs command for it. Safe mode is OFF______ ... pero aún se ejecutó. Parece que la sugerencia de @ user3316017 a continuación es la sintaxis recomendada.hdfs dfsadmin -safemode leavese ejecute el comando porque el clúster está lleno, a veces es posible salir de la situación encadenando inmediatamente un comando para limpiar cosas, por ejemplohdfs dfsadmin -safemode leave; hdfs dfs -rm -skipTrash /path/to/stuff/to/deleteprueba esto, funcionará
fuente
El comando no funcionó para mí, pero lo siguiente sí
Usé el
hdfscomando en lugar delhadoopcomando.Consulte http://ask.gopivotal.com/hc/en-us/articles/200933026-HDFS-goes-into-readonly-mode-and-errors-out-with-Name-node-is-in-safe- modo- enlace también
fuente
Si usa Hadoop versión 2.6.1 anterior, mientras el comando funciona, se queja de que está depreciado. De hecho, no pude usar el
hadoop dfsadmin -safemode leaveporque estaba ejecutando Hadoop en un contenedor Docker y ese comando falla mágicamente cuando se ejecuta en el contenedor, así que lo que hice fue esto. Revisé el documento y encontrédfs.safemode.threshold.pcten la documentación que diceasí que cambié el
hdfs-site.xmla lo siguiente (en versiones anteriores de Hadoop, aparentemente debes hacerlo enhdfs-default.xml:fuente
Namenode entra en modo seguro cuando hay escasez de memoria. Como resultado, HDFS solo se vuelve legible. Eso significa que no se puede crear ningún directorio o archivo adicional en el HDFS. Para salir del modo seguro, se utiliza el siguiente comando:
Si está utilizando cloudera manager:
Pero no siempre resuelve el problema. La solución completa está en hacer espacio en la memoria. Use el siguiente comando para verificar su uso de memoria.
Si está usando cloudera, también puede verificar si el HDFS muestra algunos signos de mala salud. Probablemente debe estar mostrando algún problema de memoria relacionado con el nodo de nombre. Asigne más memoria siguiendo las opciones disponibles. No estoy seguro de qué comandos usar para el mismo si no está usando cloudera manager, pero debe haber una manera. ¡Espero eso ayude! :)
fuente
Prueba esto
comprobar el estado del modo seguro
Si todavía está en modo seguro, entonces una de las razones sería que no hay suficiente espacio en su nodo, puede verificar el uso del disco de su nodo usando:
si la partición raíz está llena, elimine archivos o agregue espacio en su partición raíz y vuelva a intentar el primer paso.
fuente
modo
seguro activado significa (HDFS está en modo de solo lectura) modo seguro desactivado significa (HDFS está en modo de escritura y lectura)
En
Hadoop 2.6.0, podemos verificar el estado del nodo de nombre con la ayuda de los siguientes comandos:PARA VERIFICAR EL NOMBRE DEL NODO
PARA ENTRAR EN MODO SEGURO:
PARA SALIR DEL modo SEGURO
fuente
Ejecute el siguiente comando con el usuario del sistema operativo HDFS para deshabilitar el modo seguro:
fuente
use el siguiente comando para desactivar el modo seguro
$> hdfs dfsadmin -safemode dejar
fuente