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.
impossible de créer quoi que ce soit dans hdfs
J'ai fait
root# bin/hadoop fs -safemode leave
Mais montrant
safemode: Unknown command
quel est le problème?
Réponses:
Afin de laisser de force le namenode quitter safemode, la commande suivante doit être exécutée:
Vous obtenez une
Unknown command
erreur pour votre commande car ce-safemode
n'est pas une sous-commande pourhadoop fs
, mais c'est dehadoop dfsadmin
.Également après la commande ci-dessus, je vous suggère de l'exécuter une fois
hadoop fsck
afin que toutes les incohérences qui se sont glissées dans le hdfs puissent être résolues.Mettre à jour:
Utilisez la
hdfs
commande au lieu de lahadoop
commande pour les nouvelles distributions. Lahadoop
commande est obsolète:hadoop dfsadmin
est obsolètehadoop fs
, tout comme la commande, toutes les tâches liées à hdfs sont déplacées vers une commande distinctehdfs
.la source
hadoop dfsadmin
commande, cela m'a donné ceci:______ DEPRECATED: Use of this script to execute hdfs command is deprecated. Instead use the hdfs command for it. Safe mode is OFF
______ ... mais toujours exécuté. Il semble que la suggestion de @ user3316017 ci-dessous est la syntaxe recommandée.hdfs dfsadmin -safemode leave
est exécutée parce que le cluster est plein, il est parfois possible de sortir de la situation en enchaînant immédiatement une commande pour nettoyer des choses, par exemplehdfs dfsadmin -safemode leave; hdfs dfs -rm -skipTrash /path/to/stuff/to/delete
essayez ceci, cela fonctionnera
la source
La commande n'a pas fonctionné pour moi mais ce qui suit
J'ai utilisé la
hdfs
commande au lieu de lahadoop
commande.Consultez http://ask.gopivotal.com/hc/en-us/articles/200933026-HDFS-goes-into-readonly-mode-and-errors-out-with-Name-node-is-in-safe- mode- lien aussi
la source
Si vous utilisez Hadoop version 2.6.1 ci-dessus, alors que la commande fonctionne, elle se plaint qu'elle est dépréciée. En fait, je ne pouvais pas utiliser le
hadoop dfsadmin -safemode leave
parce que j'exécutais Hadoop dans un conteneur Docker et que cette commande échouait comme par magie lorsqu'elle était exécutée dans le conteneur, alors ce que j'ai fait, c'est ceci. J'ai vérifié doc et trouvédfs.safemode.threshold.pct
dans la documentation qui ditdonc j'ai changé le
hdfs-site.xml
dans ce qui suit (dans les anciennes versions de Hadoop, apparemment vous devez le faire danshdfs-default.xml
:la source
Namenode entre en mode sécurisé en cas de manque de mémoire. En conséquence, le HDFS devient uniquement lisible. Cela signifie que l'on ne peut pas créer de répertoire ou de fichier supplémentaire dans le HDFS. Pour sortir du mode sécurisé, la commande suivante est utilisée:
Si vous utilisez cloudera manager:
Mais cela ne résout pas toujours le problème. La solution complète consiste à faire de la place dans la mémoire. Utilisez la commande suivante pour vérifier votre utilisation de la mémoire.
Si vous utilisez cloudera, vous pouvez également vérifier si le HDFS montre des signes de mauvaise santé. Il doit probablement montrer un problème de mémoire lié au namenode. Allouez plus de mémoire en suivant les options disponibles. Je ne sais pas quelles commandes utiliser pour la même chose si vous n'utilisez pas le gestionnaire cloudera, mais il doit y avoir un moyen. J'espère que ça aide! :)
la source
Essaye ça
vérifier l'état du mode sécurisé
S'il est toujours en mode sans échec, alors l'une des raisons serait qu'il n'y ait pas assez d'espace dans votre nœud, vous pouvez vérifier l'utilisation du disque de votre nœud en utilisant:
si la partition racine est pleine, supprimez les fichiers ou ajoutez de l'espace dans votre partition racine et réessayez la première étape.
la source
mode sans échec activé signifie (HDFS est en mode LECTURE uniquement)
signifie que le mode sans échec est désactivé (HDFS est en mode inscriptible et lisible)
Dans
Hadoop 2.6.0
, nous pouvons vérifier l'état du nœud de nom à l'aide des commandes ci-dessous:POUR VÉRIFIER l'état du nœud de nom
POUR ENTRER EN MODE SÉCURISÉ:
POUR QUITTER le mode SÉCURISÉ
la source
Exécutez la commande ci-dessous en utilisant l'utilisateur HDFS OS pour désactiver le mode sans échec:
la source
utilisez la commande ci-dessous pour désactiver le mode sans échec
$> hdfs dfsadmin -safemode quitter
la source