2011-08-20 21 views
57

मैं पर OSX 10.7 Hadoop के स्टार्टअप पर इस त्रुटि हो रही है "SCDynamicStore से दायरे की जानकारी लोड करने में असमर्थ": org.apache.hadoop:Hadoop OSX पर

असमर्थ SCDynamicStore पुट से दायरे की जानकारी लोड करने के लिए। hdfs.server.namenode.SafeModeException: निर्देशिका/उपयोगकर्ता/ट्रैविस/इनपुट/conf नहीं बना सकता है। नाम नोड सुरक्षित मोड में है।

ऐसा लगता है कि यह हैडोप की कार्यक्षमता के साथ कोई समस्या नहीं पैदा कर रहा है।

+3

ऐसा लगता है कि यह एक खुला मुद्दा है: https://issues.apache.org/jira/browse/HADOOP-7489 –

उत्तर

76

मैड्यू बकेट के सुझाव हैडूप -7489 में मेरे लिए काम किया। अपने 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

यह जावा 6 पर काम करता है, लेकिन जावा 7 पर नहीं। – unionx

+0

मेरे पास हैडूप- env.sh क्योंकि मैं बस हडूप के खिलाफ संकलन कर रहा हूं लेकिन मैं इस मुद्दे में भाग रहा हूं। क्या मैं अपने झंडे स्क्रिप्ट या कुछ पर इस झंडे को सेट कर सकता हूं? – tutuca

13

FYI करें, तो आप इस आगे केवल निम्न निर्दिष्ट द्वारा आसान बनाने में कर सकते हैं:

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

यह रूप में अच्छी तरह Hadoop-7489 में बताया गया है।

+5

उत्तर मेरे लिए काम करने के लिए प्रयोग किया जाता है लेकिन अब जावा 1.7 और हडूप 1.2.1 पर काम नहीं कर रहा है। क्या कोई अद्यतन समाधान है? –

4

और भी

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

cdh4.1.3

2

जब ग्रहण से MapReduce डिबगिंग मैं इस त्रुटि थी पर start-yarn.sh (या start-all.sh) निष्पादित करने से पहले जोड़ने के लिए, लेकिन यह एक लाल हेरिंग था। असली समस्या यह है कि मैं

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

JAVA_OPTS को डिबगिंग पैरामीटर जोड़कर और फिर डिबग विन्यास में एक नया "दूरस्थ जावा आवेदन" प्रोफ़ाइल है कि बंदरगाह की ओर इशारा किया बनाने के द्वारा दूरस्थ डीबगिंग किया जाना चाहिए था था 1044.

This article में चीजों के डीबगिंग पक्ष के बारे में कुछ और गहन जानकारी है। यह सोलर के बारे में बात कर रहा है, लेकिन हैडोप के साथ बहुत कुछ करता है। यदि आपको परेशानी है, तो नीचे एक संदेश चिपकाएं और मैं मदद करने की कोशिश करूंगा।

16

मुझे ओएस एक्स 10.8.2, जावा संस्करण 1.7.0_21 पर एक ही समस्या है। मैं इस का हल, एक संकेत मैं here देखा के आधार पर पाया hadoop-env.sh फ़ाइल में करने के लिए JAVA_HOME सेटिंग को परिवर्तित:।

दुर्भाग्य से, ऊपर समाधान इस संस्करण :(

संपादित साथ समस्या हल नहीं होती

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

(यहाँ ध्यान दें कब्र उद्धरण।)

+0

मुझे एक ही समस्या थी, और यह मेरे लिए ठीक था। – Clay

+0

मुझे एचबीएएस के लिए इस समस्या का सामना करना पड़ रहा था, इस लाइन को conf/hbase-env.sh में मेरे लिए मुद्दा तय किया गया। –

+0

इस समस्या में एक ही समस्या का एक सरल उदाहरण भी पाया जा सकता है: http://stackoverflow.com/questions/14716910/still-getting-unable-to-load-realm-info-from-scdynamicstore-after-bug- – TheCatParty

38

इस के लिए एक अद्यतन के रूप में (और जावा 1.7 के बारे में पता करने के लिए David Williams 'बिंदु), मैं अनुभव है कि केवल .realm और .kdc prope की स्थापना अपमानजनक संदेश को रोकने के लिए rties अपर्याप्त था।

हालांकि, संदेश को छोड़कर source file की जांच करके मैं यह निर्धारित करने में सक्षम था कि .krb5.conf संपत्ति /dev/null पर संदेश को दबाने के लिए पर्याप्त था। जाहिर है यदि आपके पास वास्तव में krb5 कॉन्फ़िगरेशन है, तो इसके लिए वास्तविक पथ निर्दिष्ट करना बेहतर है।

कुल में, मेरी hadoop-env.sh टुकड़ा इस प्रकार है:

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

ठीक करें यह ओएस एक्स 10.9.1 पर जावा 1.7 के लिए काम करता है। साझा करने के लिए धन्यवाद। – user300313

+1

धन्यवाद! ओएस एक्स पर जावा 1.7 पर काम करने वाला यह एकमात्र उत्तर था! –

+0

मेरे लिए शानदार काम करता है – davideanastasia

5

मैं MacOS पर समान समस्या थी और विभिन्न संयोजनों की कोशिश कर के बाद यह (दोनों Hadoop 1.2 और 2.2) क्या मेरे लिए सार्वभौमिक काम किया है:

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

आशा इस में मदद मिलेगी

: $HADOOP_HOME/conf/hadoop-env.sh में

निम्नलिखित लाइनों सेट

+0

यह मेरे लिए काम किया; शायद यह उल्लेख करने लायक है कि मैं हबेस के साथ काम कर रहा था इसलिए उसे HADOOP_OPTS को HBASE_OPTS में बदलना पड़ा। –