Índice
1. Contexto do problema
Não houve nenhum problema ao iniciar o cluster hadoop antes, quando iniciei o cluster hadoop hoje, o DataNode do nó escravo não iniciou.
2. Ideias de soluções
Se o nó não conseguir se levantar, você poderá verificar o arquivo de log do nó atual.
Entrei no arquivo Logs do diretório de instalação do hadoop do nó escravo atual para verificar o log e descobri que o log relatou um erro (se você verificar o log e encontrar muitos at, significa que há um problema, não não se preocupe com a longa lista de at), só precisamos encontrar a primeira frase antes de at, essa frase é a chave do problema)
Quando verifiquei o arquivo de log, recebi o seguinte erro:
AVISO org.apache.hadoop.hdfs.server.common.Storage: Falha ao adicionar o diretório de armazenamento [DISK]arquivo:/home/hadoop/software/hadooptmp/dfs/data
org.apache.hadoop.hdfs.server.common.InconsistentFSStateException : O diretório /home/hadoop/software/hadooptmp/dfs/data está em um estado inconsistente: não é possível formatar o diretório de armazenamento porque o diretório atual não está vazio.
O problema geral é que não consigo adicionar arquivos ao diretório onde armazeno os dados e diz que o diretório atual não está vazio.
3. Solução:
1. No nó mestre do cluster , use a identidade raiz e insira o diretório tmp
Depois de fazer login como usuário root
cd/tmp
Em seguida, visualizarei o conteúdo do diretório tmp
Você verá alguns arquivos começando com hadoop (tenho três arquivos aqui, o seu pode ser diferente do meu, mas não importa), exclua todos os arquivos começando com hadoop
O objetivo da exclusão é porque o cluster Hadoop precisa ser reformatado em seguida. Esses arquivos foram gerados quando os arquivos foram formatados antes. Se você não excluir esses arquivos e reformatar diretamente o cluster Hadoop, alguns problemas e conflitos poderão ocorrer posteriormente. portanto, esses arquivos devem ser excluídos primeiro.
2. Exclua os arquivos de log do hadoop
(1) Exclua todo o conteúdo do arquivo onde o Hadoop armazena dados. Cada host deve ser excluído separadamente.
Se você não sabe onde está o diretório onde seu hadoop armazena os dados, você pode verificá-lo no arquivo /etc/hadoop/core-site.xml no diretório de instalação do hadoop.
(2) Em cada host do cluster, insira o arquivo de logs no diretório de instalação do hadoop e exclua todos os arquivos dos logs.
Nota: Cada host no cluster hadoop deve ser excluído aqui
3. Formate o hadoop
hadoop namenode -formato
4. Inicie o cluster Hadoop
começar-tudo.sh
5. Após verificar com jps, o problema está resolvido.
As etapas acima são as etapas que executei para resolver o problema. Espero que possa ajudá-lo. Se não houver nada claro, deixe uma mensagem.