[Hadoop] El nodo de nombre está en modo seguro. No puedo irme



Answers

prueba esto, funcionará

sudo -u hdfs hdfs dfsadmin -safemode leave
Question
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 se puede crear nada en HDF

yo si

root# bin/hadoop fs -safemode leave

Pero mostrando

safemode: Unknown command

¿Cuál es el problema?

Solution




Si usa la versión 2.6.1 de Hadoop anterior, mientras el comando funciona, se queja de que está depreciado. De hecho, no pude usar el hadoop dfsadmin -safemode leave porque estaba ejecutando Hadoop en un contenedor Docker y ese comando mágicamente falla cuando se ejecuta en el contenedor, así que lo que hice fue esto. dfs.safemode.threshold.pct documento y encontré dfs.safemode.threshold.pct en la documentación que dice

Especifica el porcentaje de bloques que deben cumplir el requisito de replicación mínimo definido por dfs.replication.min. Los valores menores o iguales a 0 significan no esperar ningún porcentaje particular de bloques antes de salir de safemode. Los valores superiores a 1 harán que el modo seguro sea permanente.

así que cambié el hdfs-site.xml a lo siguiente (En versiones anteriores de Hadoop, aparentemente tiene que hacerlo en hdfs-default.xml :

<configuration>
    <property>
        <name>dfs.safemode.threshold.pct</name>
        <value>0</value>
    </property>
</configuration>



Prueba esto

sudo -u hdfs hdfs dfsadmin -safemode leave

verificar el estado de safemode

sudo -u hdfs hdfs dfsadmin -safemode get

Si todavía está en modo seguro, una de las razones sería que no hay espacio suficiente en su nodo, puede verificar el uso del disco de su nodo usando:

df -h

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.




use el comando a continuación para desactivar el modo seguro

$> hdfs dfsadmin -safemode leave