Je reçois cette erreur au démarrage de Hadoop sur OSX 10.7:
Impossible de charger les informations de domaine à partir de SCDynamicStore put: org.Apache.hadoop.hdfs.server.namenode.SafeModeException: impossible de créer le répertoire/user/travis/input/conf. Le nœud de nom est en mode sans échec.
Il ne semble pas poser de problème avec les fonctionnalités de Hadoop.
La suggestion de Matthew Buckett dans HADOOP-7489 a fonctionné pour moi. Ajoutez ce qui suit à votre fichier hadoop-env.sh:
export HADOOP_OPTS="-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk"
En tant que mise à jour de ceci (et pour répondre David Williams 'point à propos de Java 1.7), j'ai constaté que seul le paramètre .realm
et .kdc
les propriétés étaient insuffisantes pour arrêter le message incriminé.
Cependant, en examinant le fichier source qui omet le message, j'ai pu déterminer que la définition du .krb5.conf
propriété à /dev/null
était suffisant pour supprimer le message. Évidemment, si vous avez réellement une configuration krb5, mieux vaut spécifier le chemin réel vers celle-ci.
Au total, mon hadoop-env.sh
l'extrait est le suivant:
HADOOP_OPTS="${HADOOP_OPTS} -Djava.security.krb5.realm= -Djava.security.krb5.kdc="
HADOOP_OPTS="${HADOOP_OPTS} -Djava.security.krb5.conf=/dev/null"
J'ai le même problème sur OS X 10.8.2, Java version 1.7.0_21. Malheureusement, la solution ci-dessus ne résout pas le problème avec cette version :(
Edit: J'ai trouvé la solution à cela, sur la base d'un indice que j'ai vu ici . Dans le hadoop-env.sh
fichier, modifiez le Java_HOME
réglage sur:
export Java_HOME=`/usr/libexec/Java_home -v 1.6`
(Notez les citations graves ici.)
Pour info, vous pouvez simplifier davantage en spécifiant uniquement les éléments suivants:
export HADOOP_OPTS="-Djava.security.krb5.realm= -Djava.security.krb5.kdc="
Ceci est également mentionné dans HADOOP-7489.
J'ai eu un problème similaire sur MacOS et après avoir essayé différentes combinaisons, c'est ce qui a fonctionné pour moi universellement (Hadoop 1.2 et 2.2):
dans $HADOOP_HOME/conf/hadoop-env.sh
définissez les lignes suivantes:
# Set Hadoop-specific environment variables here.
export HADOOP_OPTS="-Djava.security.krb5.realm= -Djava.security.krb5.kdc="
# The Java implementation to use.
export Java_HOME=`/usr/libexec/Java_home -v 1.6`
J'espère que cela vous aidera
et aussi ajouter
YARN_OPTS="$YARN_OPTS -Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk"
avant d'exécuter start-yarn.sh (ou start-all.sh) sur cdh4.1.3
J'ai eu cette erreur lors du débogage de MapReduce depuis Eclipse, mais c'était un hareng rouge. Le vrai problème était que j'aurais dû déboguer à distance en ajoutant des paramètres de débogage à Java_OPTS
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=1044
Et puis créer un nouveau profil "Remote Java Application" dans la configuration de débogage qui pointait vers le port 1044.
Cet article contient des informations plus approfondies sur le côté débogage des choses. Il s'agit de Solr, mais fonctionne de la même manière avec Hadoop. Si vous avez des problèmes, collez un message ci-dessous et j'essaierai de vous aider.