2011-08-20 15 views
57

sto ottenendo questo errore all'avvio di Hadoop su OSX 10.7:Hadoop su OSX "Impossibile caricare le informazioni reame da SCDynamicStore"

Impossibile caricare le informazioni reame da SCDynamicStore put: org.apache.hadoop. hdfs.server.namenode.SafeModeException: impossibile creare directory/utente/travis/input/conf. Il nodo del nome è in modalità provvisoria.

Non sembra causare problemi con la funzionalità di Hadoop.

+3

Sembra che questo è un problema aperto: https://issues.apache.org/jira/browse/HADOOP-7489 –

risposta

76

Il suggerimento di Matthew Buckett in HADOOP-7489 ha funzionato per me. Aggiungere il seguente al file 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" 
+4

Questo funziona su Java 6, ma non su Java 7. – unionx

+0

non ho un hadoop- env.sh perché sto solo compilando un programma su hadoop ma sto incontrando questo problema. Posso impostare queste bandiere sul mio script gradle o qualcosa del genere? – tutuca

13

FYI, è possibile semplificare questo ulteriore specificando solo le seguenti:

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

Questo è menzionato nel HADOOP-7489 pure.

+5

La risposta funzionava per me ma non funziona più su java 1.7 e hadoop 1.2.1. C'è una soluzione aggiornata? –

4

e anche aggiungere

YARN_OPTS="$YARN_OPTS -Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk"

prima di eseguire start-yarn.sh (o start-all.sh) su cdh4.1.3

2

ho avuto questo errore durante il debug MapReduce da Eclipse, ma era un'aringa rossa. Il vero problema era che avrei dovuto essere il debug remoto con l'aggiunta di parametri di debug per le JAVA_OPTS

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=1044 

e quindi la creazione di un nuovo profilo "Remote Application Java" nella configurazione di debug che puntava alla porta 1044.

This article ha alcune informazioni più approfondite sul lato del debug delle cose. Sta parlando di Solr, ma funziona allo stesso modo con Hadoop. Se hai problemi, metti un messaggio qui sotto e cercherò di aiutarti.

16

Sto avendo lo stesso problema su OS X 10.8.2, versione Java 1.7.0_21. Purtroppo, la soluzione di cui sopra non risolve il problema con questa versione :(

Edit: ho trovato la soluzione a questo, sulla base di un suggerimento che ho visto here Nel file hadoop-env.sh, modificare l'impostazione JAVA_HOME a:.

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

(Notare le virgolette gravi qui.)

+0

Ho avuto lo stesso problema, e questa era la soluzione per me. – Clay

+0

Ero di fronte a questo problema per HBase, aggiungendo questa riga a conf/hbase-env.sh risolto il problema per me. –

+0

Un esempio più semplice di questo stesso problema si possono trovare anche in questa domanda: http://stackoverflow.com/questions/14716910/still-getting-unable-to-load-realm-info-from-scdynamicstore-after-bug- fix – TheCatParty

38

come un aggiornamento a questo (e per affrontare David Williams punto 'su Java 1.7), ho sperimentato che solo l'impostazione della prope .realm e .kdc anni era insufficiente a fermare il messaggio offensivo.

Tuttavia, esaminando il source file che sta omettendo il messaggio io ero in grado di determinare che l'impostazione della proprietà .krb5.conf a /dev/null è stato sufficiente per eliminare il messaggio. Ovviamente se si dispone effettivamente di una configurazione krb5, è meglio specificare il percorso effettivo.

In totale, il mio hadoop-env.sh frammento è la seguente:

HADOOP_OPTS="${HADOOP_OPTS} -Djava.security.krb5.realm= -Djava.security.krb5.kdc=" 
HADOOP_OPTS="${HADOOP_OPTS} -Djava.security.krb5.conf=/dev/null" 
+2

Funziona per Java 1.7 su OS X 10.9.1. Grazie per la condivisione. – user300313

+1

Grazie! Questa è stata l'unica risposta che ha funzionato su Java 1.7 su OS X! –

+0

funziona brillantemente per me – davideanastasia

5

Ho avuto simile problema su MacOS e dopo aver provato diverse combinazioni questo è quello che ha funzionato per me universalmente (sia Hadoop 1.2 e 2.2):

in $HADOOP_HOME/conf/hadoop-env.sh impostare le seguenti linee:

# 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` 

Spero che questo vi aiuterà

+0

Questo ha funzionato per me; probabilmente vale la pena ricordare che stavo lavorando con Hbase, quindi ho dovuto cambiare HADOOP_OPTS in HBASE_OPTS. –

Problemi correlati