2013-06-22 19 views
13

कॉन्फ़िगर करते समय मैं अपने मैकबुक पर Hadoop 0.23.8 कॉन्फ़िगर करने के लिए कोशिश कर रहा हूँ और निम्न अपवादनिम्न त्रुटि हो रही है "Datanode namenode के साथ संचार अस्वीकृत" Hadoop 0.23.8

org.apache.hadoop.hdfs.server.protocol.DisallowedDatanodeException: Datanode denied communication with namenode: 192.168.1.13:50010 
at org.apache.hadoop.hdfs.server.blockmanagement.DatanodeManager.registerDatanode(DatanodeManager.java:549) 
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.registerDatanode(FSNamesystem.java:2548) 
at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.registerDatanode(NameNodeRpcServer.java:784) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.apache.hadoop.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:394) 
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1571) 
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1567) 
at java.security.AccessController.doPrivileged(Native Method) 
at javax.security.auth.Subject.doAs(Subject.java:396) 
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1262) 
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1565) 

मेरे core- साथ में चला रहा हूँ site.xml इस तरह दिखता है

<configuration> 
<property> 
<name>dfs.federation.nameservices</name> 
<value>ns1</value> 
</property> 

<property> 
<name>dfs.namenode.rpc-address.ns1</name> 
<value>192.168.1.13:54310</value> 
</property> 

<property> 
<name>dfs.namenode.http-address.ns1</name> 
<value>192.168.1.13:50070</value> 
</property> 

<property> 
<name>dfs.namenode.secondary.http-address.ns1</name> 
<value>192.168.1.13:50090</value> 
</property> 
</configuration> 

मैं क्या गलत कर सकता हूं पर कोई विचार?

उत्तर

5

मुझे नाम रिज़ॉल्यूशन समस्या की तरह दिखता है। संभावित कारण:

Machine is listed in the file defined by dfs.hosts.exclude 

dfs.hosts is used and the machine is not listed within that file 

यह भी सुनिश्चित करें कि आपके पास मेजबान फ़ाइल में सूचीबद्ध मशीन का आईपी + होस्टनाम है।

एचटीएच

+0

हाय तारिक, विंडोज संस्करण 2.5.2 में हैडूप क्लस्टर का उपयोग कर एएम। एनएन के साथ डीएन कनेक्ट करने में सक्षम नहीं है जब इसमें विंडोज़ में दो अलग-अलग उपयोगकर्ता नाम हैं! यह त्रुटि त्रुटि दिखाता है। डेटाटाइड: ब्लॉक पूल बीपी -1412802884-172.16.104.131-1426754368865 (डेटाानोड यूयूआईडी नल) सेवा के लिए प्रारंभिक विफलता * डेटानोड ने नामनोड के साथ संचार से इंकार कर दिया क्योंकि होस्टनाम को हल नहीं किया जा सकता है (ip = *** , मेजबाननाम = **): डाटानोड पंजीकरण (0.0.0.0, डेटानोडयूयूड = सी 724 बी 3 ईसी -0890-440 ए-एई 5-12687 डीएफडीएफ 4 एबी, infoPort = 50075, ipcPort = 50020, torageInfo = lv = -55; cid = cID-f00ff213-1f54-4076- बीसी 4 एफ-ई 849ed357a98; एनएसआईडी = 3 32255981; सी = 0) – karthik

0

मुझे यह समस्या मिली।

कोर-साइट.एक्सएमएल में पहले कॉन्फ़िगरेशन इस तरह है।

<property> 
    <name>fs.default.name</name> 
    <value>hdfs://localhost:12345</value> 
</property> 

बाद में मैं अपने HOSTNAME (पीसी नाम) के साथ स्थानीय होस्ट नाम में बदलाव कर दिया है

<property> 
    <name>fs.default.name</name> 
    <value>hdfs://cnu:12345</value> 
</property> 

यह मेरे लिए काम किया।

0

बस जानकारी के लिए। मुझे एक ही समस्या है और मैंने पहचाना है, कि मेरे दासों के मेजबाननाम में एक टाइपो था। इसके विपरीत, नोड के पास गलत होस्टनाम हो सकता है।

7

मुझे हडोप 2.6.0 के साथ एक ही समस्या मिली और मेरे मामले का समाधान तारिक के जवाब से अलग था।

मैं/etc/hosts में आईपी-होस्ट मैपिंग सूचीबद्ध नहीं कर सका क्योंकि मैं आईपी को गतिशील रूप से सेट करने के लिए डीएचसीपी का उपयोग करता हूं।

समस्या DNS लुकअप उल्टा जब भी कोई datanode एक namenode के साथ रजिस्टर करने की कोशिश करता था कि मेरे डीएनएस रिवर्स DNS देखने (अर्थात ऊपर होस्टनाम आईपी दिया देख) की अनुमति नहीं है, और HDFS डिफ़ॉल्ट उपयोग के द्वारा। सौभाग्य से, इस व्यवहार को "dfs.namenode.datanode.registration.ip-hostname-check" में सेट करके अक्षम किया जा सकता है। Hdfs-site.xml

कैसे पता चलेगा कि आपका DNS रिवर्स लुकअप की अनुमति नहीं देता है? उबंटू में जवाब "होस्ट" कमांड का उपयोग करना है। यदि यह होस्टनाम को हल कर सकता है, तो रिवर्स लुकअप सक्षम है। यदि यह विफल रहता है, तो रिवर्स लुकअप अक्षम है।

संदर्भ:। 1. http://rrati.github.io/blog/2014/05/07/apache-hadoop-plus-docker-plus-fedora-running-images/ 2. https://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

27

2.6.0 के साथ एक ही समस्या थी, और shamouda के जवाब इसे हल (मैं बिल्कुल dfs.hosts का उपयोग नहीं किया गया था ताकि इस सवाल का जवाब नहीं हो सकता है मैंने किया था

<property> 
    <name>dfs.namenode.datanode.registration.ip-hostname-check</name> 
    <value>false</value> 
</property> 

को HDFS-site.xml जोड़ सकते हैं और है कि इस मुद्दे को ठीक करने के लिए पर्याप्त था।

+0

एक आकर्षण की तरह काम किया .. धन्यवाद .. –

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