2012-10-05 25 views
5

डिफ़ॉल्ट रूप से, हैडोप आपके/tmp फ़ोल्डर में hadoop.tmp.dir सेट करता है। ,छद्म-वितरित मोड में हडोप चलाते समय, hadoop.tmp.dir के लिए मुझे किस निर्देशिका का उपयोग करना चाहिए?

2012-10-05 07:41:13,618 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: localhost/127.0.0.1:8020. Already tried 0 time(s).  
...  
2012-10-05 07:41:22,636 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: localhost/127.0.0.1:8020. Already tried 9 time(s). 
2012-10-05 07:41:22,643 INFO org.apache.hadoop.mapred.JobTracker: problem cleaning system directory: null 
java.net.ConnectException: Call to localhost/127.0.0.1:8020 failed on connection exception: java.net.ConnectException: Connection refused 
    at org.apache.hadoop.ipc.Client.wrapException(Client.java:767)  

एक ही रास्ता है कि मैं इस आपके नाम नोड पुन: प्रारूपित करना है तय करने के लिए मिल गया है: इसका कारण यह है/tmp लिनक्स द्वारा नष्ट हो जाता है जब आप रिबूट, JobTracker से इस सुंदर त्रुटि के लिए अग्रणी, एक समस्या है जो/tmp/hadoop-root फ़ोल्डर का पुनर्निर्माण करता है, जो रीबूट करते समय निश्चित रूप से फिर से मिटा दिया जाता है।

तो मैं आगे बढ़ गया और/hadoop_temp नामक एक फ़ोल्डर बनाया और सभी उपयोगकर्ताओं को इसे पढ़ने/लिखने के लिए दिया। मैं तो मेरे कोर-site.xml में यह गुण सेट:

<property> 
      <name>hadoop.tmp.dir</name> 
      <value>file:///hadoop_temp</value> 
</property> 

जब मैं अपने namenode फिर से स्वरूपित, Hadoop खुश लग रहा था, मुझे यह संदेश दे रही है:

12/10/05 07:58:54 INFO common.Storage: Storage directory file:/hadoop_temp/dfs/name has been successfully formatted. 

हालांकि, जब मैं को देखा/hadoop_temp, मैंने देखा कि फ़ोल्डर खाली था। और फिर जब मैं Hadoop को पुनः आरंभ और मेरे JobTracker लॉग की जाँच की है, मैं इस देखा:

2012-10-05 08:02:41,988 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: localhost/127.0.0.1:8020. Already tried 0 time(s). 
... 
2012-10-05 08:02:51,010 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: localhost/127.0.0.1:8020. Already tried 9 time(s). 
2012-10-05 08:02:51,011 INFO org.apache.hadoop.mapred.JobTracker: problem cleaning system directory: null 
java.net.ConnectException: Call to localhost/127.0.0.1:8020 failed on connection exception: java.net.ConnectException: Connection refused 

और जब मैं अपने namenode लॉग की जाँच की है, मैं इस देखा:

2012-10-05 08:00:31,206 INFO org.apache.hadoop.hdfs.server.common.Storage: Storage directory /opt/hadoop/hadoop-0.20.2/file:/hadoop_temp/dfs/name does not exist. 
2012-10-05 08:00:31,212 ERROR org.apache.hadoop.hdfs.server.namenode.FSNamesystem: FSNamesystem initialization failed. 
org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /opt/hadoop/hadoop-0.20.2/file:/hadoop_temp/dfs/name is in an inconsistent state: storage directory does not exist or is not accessible. 

तो, स्पष्ट रूप से मैं कॉन्फ़िगर नहीं किया कुछ सही। हैडोप अभी भी/tmp फ़ोल्डर में अपनी फ़ाइलों को देखने की अपेक्षा करता है भले ही मैंने coreoop.tmp.dir को/hadoop_temp को core-site.xml में सेट किया हो। मैंने गलत क्या किया? Hadoop.tmp.dir के लिए स्वीकृत "दाएं" मान क्या है?

बोनस प्रश्न: मुझे hbase.tmp.dir के लिए क्या उपयोग करना चाहिए?

सिस्टम जानकारी:

Ubuntu 12.04, अपाचे Hadoop .20.2, अपाचे HBase .92.1

एक नज़र लेने के लिए धन्यवाद!

उत्तर

3

इस के साथ मेरी मदद करने के लिए हैडोप मेलिंग सूची पर हर्ष के लिए धन्यवाद। उसे उद्धृत करने के लिए:

"0.20.x या 1.x आधारित रिलीज पर, फ़ाइल का उपयोग न करें: /// preoix hadoop.tmp.dir के लिए।"

मैंने फ़ाइल निकाली: // उपसर्ग, और यह काम किया।

0

HBase 0.94 के साथ * यदि आप होगा इसके अलावा निर्दिष्ट करने के लिए

<property> <name>hbase.cluster.distributed</name> <value>true</value> </property>

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^