12
votes

hadoop java.io.ioException: en exécutant namenode -format

j'ai ran namenode -format.C'est ma sortie. J'ai essayé de changer les autorisations de fichier chmod 777 hadoop.

Je crois que cette ligne est l'erreur Erreur namenode.namenode: java.io.ioException: impossible de créer un répertoire / votre / chemin / à / hadoop / tmp / dir / hadoop-hadoop / dfs / nom / nom / actuel xxx


2 commentaires

Vous avez peut-être probablement besoin d'arrêter votre tous les démons avant d'effectuer un format sur Namenode ..!


Il y a une erreur dans votre hdfs-site.xml ; Il n'y a pas de tel chemin appelé / votre / chemin / à / hadoop / tmp / dir /..ke/ code>. Il est possible que vous suiviez un modèle pour votre HDFS-Site.xml mais j'ai oublié de modifier les paramètres. Vous pouvez vous référer à Cet article pour un problème similaire que j'ai confronté et sa solution.


5 Réponses :


18
votes

Essayez avec sudo (je réalise que vous avez changé des autorisations) mais je voudrais toujours essayer sudo et vérifier si cela résout le problème.


6 commentaires

J'ai corrigé l'erreur ci-dessus en modifiant le niveau d'autorisation des Sudoers. L'erreur d'origine n'a pas été résolue. ok j'ai maintenant un problème avec $ java_home puis-je utiliser Exporter $ Java_Home et le chemin d'accès pour corriger l'erreur


@ALEX: Avez-vous mis $ Java_Home dans Conf / Hadoop-env.sh? Vérifiez si votre environnement a cet ensemble Java_Home. Notez que l'environnement utilisateur sudo et votre environnement sont différents. Utilisez Commandes Printev et Sudo Printenv.


Merci à résoudre le problème, j'ai également expérimenté les paramètres diverses variables environnementales, donc j'ai constaté que cela vaut la peine d'acquérir une expérience d'apprentissage. Ce qui m'a confondu, le tutoriel a déclaré que vous pouviez définir soit le fichier hadoop-env.sh ou bash.bashrc.


Quelle est la meilleure méthode est-elle aux variables d'environnement ou est-il préférable de définir le fichier Profile.D.


@Alex Quelle autorisation avez-vous changée pour le fichier sudoers? Iam face au même problème


@Fourofakind J'ai essayé d'utiliser sudo mais je retourne toujours sur / dfs / nn alors que j'ai donné un emplacement différent dans l'aide de Core-Site.xml.



0
votes

sudo est cassé dans cette situation, mais pkexec (la ligne de commande de la ligne de commande à PolicyKit) fonctionne toujours, vous pouvez donc la corriger avec une seule commande. Aucun redémarrage n'est nécessaire. XXX

Ceci suppose PolicyKit est installé. S'il s'agit d'un système de bureau (plutôt qu'un serveur sans interface graphique), c'est.


0 commentaires

2
votes

Vérifiez la configuration HDFS-SITE.XML, elle peut avoir un mauvais chemin de propriété pour les propriétés dfs.namenode.name.dir et dfs.datanode.data.dir Dans mon cas, c'était la cause du problème (le répertoire était situé dans un autre dossier à domicile de l'utilisateur actuel).


1 commentaires

Je pense que tout le monde va nucléaire avec sudo - le message d'erreur indique: Java.IO.IOException: impossible de créer un répertoire / votre / chemin / à / hadoop / tmp / dir / hadoop-hadoop / dfs / nom / nom / nom / nom / nom - Cela signifie que quelle valeur de titulaire de la place pour le répertoire Datadir n'existe pas? Vérifiez vos valeurs par défaut dans Core-Site.xml de HDFS-Site.xml en premier?



13
votes

Les étapes suivantes ont résolu mon problème -

1- sudo su

Entrez votre mot de passe.

2- / USR / local / hadoop / bin / hdfs namenode -format.

Ceci a été fait pour Hadoop2.5 dans lequel "Hadoop Namenode -Format" a été préparé par donc en utilisant "HDFS Namenode -Format"


2 commentaires

Travaillé pour moi, merci! La réponse acceptée n'a pas fonctionné dans mon cas


idem pour moi .. La réponse acceptée n'a pas fonctionné dans mon cas. Cela a fonctionné ~



2
votes

Ceci est une question d'autorisations. Soit vous pouvez utiliser 1. sudo 2. Connectez-vous en tant que root

mais la meilleure solution est

sudo chown $ hadoop_home

hadoop namenode -format

où hadoop_home est votre répertoire d'installation Hadoop


1 commentaires

sudo chown $ hadoop_home à quelle autorisation?