57 votes

Hadoop sous OSX "Impossible de charger l'information sur le royaume à partir de SCDynamicStore".

J'obtiens cette erreur au démarrage d'Hadoop sous OSX 10.7 :

Impossible de charger les informations sur le royaume à 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 sécurisé.

Il ne semble pas causer de problèmes avec la fonctionnalité d'Hadoop.

76voto

Jeromy Carriere Points 766

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"

39voto

Matthew L Daniel Points 371

En guise de mise à jour (et pour répondre à David Williams à propos de Java 1.7), j'ai constaté que seul le réglage de la valeur de l'indicateur d'accès à l'information de l'utilisateur était possible. .realm y .kdc n'a pas suffi à stopper le message incriminé.

Cependant, en examinant les fichier source qui omet le message, j'ai pu déterminer que le réglage de l'option .krb5.conf à la propriété /dev/null était suffisant pour supprimer le message. Évidemment, si vous avez une configuration krb5, il est préférable de spécifier le chemin d'accès réel.

Au total, mon hadoop-env.sh 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"

16voto

user411279 Points 415

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 :(

Editar: J'ai trouvé la solution à ce problème, en me basant sur une astuce que j'ai vue aquí . Dans le hadoop-env.sh modifiez le fichier JAVA_HOME la mise en place à :

export JAVA_HOME=`/usr/libexec/java_home -v 1.6`

(Notez les citations graves ici).

13voto

btiernay Points 2213

Pour info, vous pouvez simplifier encore plus les choses en ne spécifiant que les éléments suivants :

export HADOOP_OPTS="-Djava.security.krb5.realm= -Djava.security.krb5.kdc="

Ceci est également mentionné dans HADOOP-7489.

5voto

VKroz Points 878

J'ai eu un problème similaire sur MacOS et après avoir essayé différentes combinaisons, voici ce qui a fonctionné pour moi de manière universelle (à la fois pour Hadoop 1.2 et 2.2) :

sur $HADOOP_HOME/conf/hadoop-env.sh définir 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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X