O nó do nome está em modo seguro. Incapaz de sair

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.

não é capaz de criar nada em hdfs

eu fiz

root# bin/hadoop fs -safemode leave

mas mostrando

safemode: Unknown command
Qual é o problema?

Solução

Author: Unmesha SreeVeni, 2013-04-04

9 answers

De modo a permitir à força que o namenode saia do safemode, deverá ser executado o seguinte comando:

 bin/hadoop dfsadmin -safemode leave

Você está recebendo Unknown command erro para o seu comando pois -safemode não é um Sub-comando para hadoop fs, mas é de hadoop dfsadmin.

Também depois do comando acima, sugiro que execute uma vez hadoop fsck para que quaisquer inconsistências presentes no hdfs possam ser resolvidas.

Actualizar:

Usar o comando hdfs em vez do comando hadoop para as distribuições mais recentes. O hadoop o comando está a ser desacreditado:

hdfs dfsadmin -safemode leave

hadoop dfsadmin foi desactualizado e assim é hadoop fs, todas as tarefas relacionadas com hdfs estão a ser movidas para um comando separado hdfs.

 184
Author: Amar, 2016-04-04 13:34:44
Tenta isto, vai funcionar.
sudo -u hdfs hdfs dfsadmin -safemode leave
 24
Author: Wesam Na, 2015-01-03 10:53:36

O comando não funcionou para mim, mas o seguinte funcionou

hdfs dfsadmin -safemode leave

Usei o comando hdfs em vez do comando hadoop.

Check out http://ask.gopivotal.com/hc/en-us/articles/200933026-HDFS-goes-into-readonly-mode-and-errors-out-with-Name-node-is-in-safe-mode-{[10]

ligação também
 20
Author: Kishan B, 2014-02-23 12:04:46

Se usar a versão 2.6.1 do Hadoop, enquanto o comando funciona, queixa-se de que a sua desvalorização. Eu realmente não podia usar o {[[1]} porque eu estava executando Hadoop em um container Docker e esse comando magicamente falha quando executado no container, então o que eu fiz foi isso. Eu verifiquei o doc e encontrei dfs.safemode.threshold.pct em documentação que diz

Especifica a percentagem de blocos que devem satisfazer o mínimo requisito de replicação definido por dfs.replicacao.minuto. Valores inferiores igual ou superior a 0 Média para não esperar por uma determinada percentagem de bloqueia antes de sair de safemode. Valores superiores a 1 tornar-se-ão seguros modo permanente.

Então eu mudei o hdfs-site.xml para o seguinte (nas versões mais antigas do Hadoop, aparentemente você precisa fazer isso em hdfs-default.xml:

<configuration>
    <property>
        <name>dfs.safemode.threshold.pct</name>
        <value>0</value>
    </property>
</configuration>
 6
Author: ambodi, 2015-11-19 09:46:21

O Namenode entra no safemode quando há falta de memória. Como resultado, o HDFS torna-se legível apenas. Isso significa que não se pode criar qualquer diretório ou arquivo adicional no HDFS. Para sair do safemode, é utilizado o seguinte comando:

hadoop dfsadmin -safemode leave

Se estiver a utilizar o cloudera manager:

go to >>Actions>>Leave Safemode
Mas nem sempre resolve o problema. A solução completa está em fazer algum espaço na memória. Use o seguinte comando para verificar a sua memória uso.
free -m

Se estiver a utilizar cloudera, também pode verificar se os HDFS mostram alguns sinais de má saúde. Deve estar a mostrar algum problema de memória relacionado com o namenode. Allot mais memória, seguindo as opções disponíveis. Não tenho certeza que comandos usar para o mesmo se você não está usando o Gerenciador cloudera, mas deve haver uma maneira. Espero que ajude! :)

 4
Author: Amitesh Ranjan, 2014-09-24 06:15:37

Tenta isto.

sudo -u hdfs hdfs dfsadmin -safemode leave

Verificar o estado de safemode

sudo -u hdfs hdfs dfsadmin -safemode get

Se ainda estiver em safemode, então uma das razões seria não haver espaço suficiente no seu nó, você pode verificar a utilização do seu nó em disco usando:

df -h

Se a partição do 'root' estiver cheia, remova os ficheiros ou adicione espaço na sua partição de 'root' e repita o primeiro passo.

 3
Author: Tarun Reddy, 2017-11-24 11:02:19

Execute o comando abaixo usando o utilizador de SO HDFS para desactivar o modo seguro:

sudo -u hdfs hadoop dfsadmin -safemode leave
 1
Author: Mayank Gupta, 2017-08-23 06:03:04

Usar abaixo do comando para desligar o modo seguro

$> hdfs dfsadmin-safemode leave

 0
Author: Azam Khan, 2017-09-14 06:47:15

Modo Seguro ligado meios (HDFS está apenas em Modo de leitura)
modo de desactivação seguro (HDFS em Modo de gravação e leitura)

Em Hadoop 2.6.0, podemos verificar o estado do nó do nome com a ajuda dos comandos abaixo:

Para verificar o estado do nó de nome

$ hdfs dfsadmin -safemode get

PARA ENTRAR EM MODO SEGURO:

$ hdfs dfsadmin -safemode enter

Deixar o modo seguro

~$ hdfs dfsadmin -safemode leave
 0
Author: Vishwajeet Singh, 2018-09-12 05:55:13