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?
Respostas:
Para deixar com força o namenode sair do modo de segurança, o seguinte comando deve ser executado:
Você está recebendo
Unknown command
erro para o seu comando, pois-safemode
não é um subcomando parahadoop fs
, mas éhadoop dfsadmin
.Além disso, após o comando acima, sugiro que você execute uma vez
hadoop fsck
para que quaisquer inconsistências surgidas nos hdfs possam ser resolvidas.Atualizar:
Use o
hdfs
comando em vez dohadoop
comando para distribuições mais recentes. Ohadoop
comando está sendo preterido:hadoop dfsadmin
foi descontinuado e, assim como ohadoop fs
comando, todas as tarefas relacionadas a hdfs estão sendo movidas para um comando separadohdfs
.fonte
hadoop dfsadmin
comando, ele me deu o seguinte:______ DEPRECATED: Use of this script to execute hdfs command is deprecated. Instead use the hdfs command for it. Safe mode is OFF
______ ... mas ainda funcionava. Parece que a sugestão de @ user3316017 abaixo é a sintaxe recomendada.hdfs dfsadmin -safemode leave
comando é executado porque o cluster está cheio, às vezes é possível sair da situação encadeando imediatamente um comando para limpar as coisas, por exemplohdfs dfsadmin -safemode leave; hdfs dfs -rm -skipTrash /path/to/stuff/to/delete
tente isso, vai funcionar
fonte
O comando não funcionou para mim, mas o seguinte
Eu usei o
hdfs
comando em vez dohadoop
comando.Confira http://ask.gopivotal.com/hc/en-us/articles/200933026-HDFS-goes-into-readonly-mode-and-errors-out-with-Name-node-is-in-safe- link de modo também
fonte
Se você usa o Hadoop versão 2.6.1 acima, enquanto o comando funciona, ele reclama que está depreciado. Na verdade, eu não podia usar o
hadoop dfsadmin -safemode leave
porque estava executando o Hadoop em um contêiner do Docker e esse comando falha magicamente quando executado no contêiner, então o que fiz foi isso. Eu verifiquei doc e encontreidfs.safemode.threshold.pct
na documentação que dizentão mudei
hdfs-site.xml
para o seguinte (nas versões mais antigas do Hadoop, aparentemente você precisa fazer isso emhdfs-default.xml
:fonte
O namenode entra no modo de segurança quando há falta de memória. Como resultado, o HDFS se torna apenas legível. Isso significa que não é possível criar nenhum diretório ou arquivo adicional no HDFS. Para sair do modo de segurança, o seguinte comando é usado:
Se você estiver usando o Cloudera Manager:
Mas nem sempre resolve o problema. A solução completa está em criar algum espaço na memória. Use o seguinte comando para verificar o uso da memória.
Se você estiver usando cloudera, também poderá verificar se o HDFS está mostrando alguns sinais de problemas de saúde. Provavelmente, deve estar mostrando algum problema de memória relacionado ao namenode. Aloque mais memória, seguindo as opções disponíveis. Não tenho certeza de quais comandos usar para o mesmo se você não estiver usando o gerenciador de cloudera, mas deve haver uma maneira. Espero que ajude! :)
fonte
Tente isto
verificar o status do modo de segurança
Se ainda estiver no modo de segurança, um dos motivos seria o espaço insuficiente no nó, você pode verificar o uso do disco do nó usando:
se a partição raiz estiver cheia, exclua arquivos ou adicione espaço na sua partição raiz e tente novamente o primeiro passo.
fonte
modo de segurança ativado significa (HDFS está no modo somente leitura)
modo de segurança desativado significa (HDFS está no modo gravável e legível)
Em
Hadoop 2.6.0
, podemos verificar o status do nó de nome com a ajuda dos comandos abaixo:PARA VERIFICAR O Status do Nó de Nome
PARA ENTRAR NO MODO SEGURO:
PARA SAIR DO modo SEGURO
fonte
Execute o comando abaixo usando o usuário do sistema operacional HDFS para desativar o modo de segurança:
fonte
use o comando abaixo para desativar o modo de segurança
$> hdfs dfsadmin -safemode leave
fonte