hadoop डेटानोड सही ढंग से शुरू नहीं होता है




hadoop2 (8)

मैं छद्म-वितरित मोड में हडोप 2.2.0 स्थापित करने की कोशिश कर रहा हूं। जबकि मैं डेटानोड सेवाओं को शुरू करने की कोशिश कर रहा हूं, यह निम्नलिखित त्रुटि दिखा रहा है, क्या कोई इसे बता सकता है कि इसे कैसे हल किया जाए?

**2**014-03-11 08:48:15,916 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Block pool <registering> (storage id unknown) service to localhost/127.0.0.1:9000 starting to offer service
2014-03-11 08:48:15,922 INFO org.apache.hadoop.ipc.Server: IPC Server Responder: starting
2014-03-11 08:48:15,922 INFO org.apache.hadoop.ipc.Server: IPC Server listener on 50020: starting
2014-03-11 08:48:16,406 INFO org.apache.hadoop.hdfs.server.common.Storage: Lock on /home/prassanna/usr/local/hadoop/yarn_data/hdfs/datanode/in_use.lock acquired by nodename [email protected]
2014-03-11 08:48:16,426 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for block pool Block pool BP-611836968-127.0.1.1-1394507838610 (storage id DS-1960076343-127.0.1.1-50010-1394127604582) service to localhost/127.0.0.1:9000
java.io.IOException: Incompatible clusterIDs in /home/prassanna/usr/local/hadoop/yarn_data/hdfs/datanode: namenode clusterID = CID-fb61aa70-4b15-470e-a1d0-12653e357a10; datanode clusterID = CID-8bf63244-0510-4db6-a949-8f74b50f2be9
    at**** org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:391)
    at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:191)
    at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:219)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.initStorage(DataNode.java:837)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.initBlockPool(DataNode.java:808)
    at org.apache.hadoop.hdfs.server.datanode.BPOfferService.verifyAndSetNamespaceInfo(BPOfferService.java:280)
    at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.connectToNNAndHandshake(BPServiceActor.java:222)
    at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.java:664)
    at java.lang.Thread.run(Thread.java:662)
2014-03-11 08:48:16,427 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Ending block pool service for: Block pool BP-611836968-127.0.1.1-1394507838610 (storage id DS-1960076343-127.0.1.1-50010-1394127604582) service to localhost/127.0.0.1:9000
2014-03-11 08:48:16,532 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Removed Block pool BP-611836968-127.0.1.1-1394507838610 (storage id DS-1960076343-127.0.1.1-50010-1394127604582)
2014-03-11 08:48:18,532 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Exiting Datanode
2014-03-11 08:48:18,534 INFO org.apache.hadoop.util.ExitUtil: Exiting with status 0
2014-03-11 08:48:18,536 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: SHUTDOWN_MSG: 

मुझे भी इसी तरह का मुद्दा था। मैंने सभी नोड्स से नामनोड और डेटानोड फ़ोल्डरों को हटा दिया, और फिर से शुरू किया:

$HADOOP_HOME/bin> hdfs namenode -format -force
$HADOOP_HOME/sbin> ./start-dfs.sh
$HADOOP_HOME/sbin> ./start-yarn.sh

कमांड लाइन से स्वास्थ्य रिपोर्ट की जांच करने के लिए (जिसे मैं अनुशंसा करता हूं)

$HADOOP_HOME/bin> hdfs dfsadmin -report

और मुझे सही ढंग से काम करने वाले सभी नोड्स मिल गए।


जब भी आप त्रुटि से नीचे आ रहे हैं, दास मशीन पर डीएन शुरू करने की कोशिश कर रहे हैं:

java.io.IOException: Incompatible clusterIDs in /home/hadoop/dfs/data: namenode clusterID= ****; datanode clusterID = ****

ऐसा इसलिए है क्योंकि आप अपने क्लस्टर को स्थापित करने के बाद, आप किसी भी कारण से, अपने एनएन को दोबारा सुधारने का फैसला किया। दासों पर आपके डीएन अभी भी पुराने एनएन के संदर्भ में हैं।

इसे हल करने के लिए स्थानीय लिनक्स एफएस, अर्थात् / home / hadoop / dfs / डेटा में उस मशीन पर डेटा फ़ोल्डर को हटाएं और फिर से बनाएं।

पुनरारंभ करना कि उस मशीन पर डीएन के डिमन डेटा / फ़ोल्डर की सामग्री को फिर से बनाएंगे और समस्या का समाधान करेंगे।


निम्नलिखित सरल कदम उठाएं

  • हडूप की डेटा निर्देशिका साफ़ करें
  • नामनोड फिर से प्रारूपित करें
  • क्लस्टर शुरू करें

इसके बाद यदि आपके पास कोई अन्य कॉन्फ़िगरेशन समस्या नहीं है तो आपका क्लस्टर सामान्य रूप से प्रारंभ होगा


मुझे अपने छद्म वितरित वातावरण में एक ही समस्या मिली। मैंने क्लस्टर को पहले बंद कर दिया, फिर मैंने क्लस्टर आईडी को नेमनोड की संस्करण फ़ाइल से कॉपी किया और इसे डेटा नोड की संस्करण फ़ाइल में रखा, फिर क्लस्टर को पुनरारंभ करने के बाद, यह सब ठीक है।

मेरा डेटा पथ यहां / usr / local / hadoop / hadoop_store / hdfs / datanode और / usr / local / hadoop / hadoop_store / hdfs / namenode है।

एफवाईआई: संस्करण फ़ाइल / usr / local / hadoop / hadoop_store / hdfs / datanode / current / के अंतर्गत है; इसी तरह नाम नोड के लिए।


आप निम्न विधि कर सकते हैं,

अपने उदाहरण के लिए क्लिपबोर्ड डेटानोड क्लस्टर आईडी पर कॉपी करें, सीआईडी ​​-8 बीएफ 63244-0510-4 डीबी 6-ए 9 4 9 8 एफ 74 बी 50 एफ 2 बी 9

और HADOOP_HOME / bin निर्देशिका के अंतर्गत निम्न आदेश चलाएं

./hdfs namenode -format -clusterId CID-8bf63244-0510-4db6-a949-8f74b50f2be9

तो इस कोड ने नामानोड को डेटानोड क्लस्टर आईडी के साथ स्वरूपित किया।


Core-site.xml में निर्दिष्ट के रूप में namenode और datanode निर्देशिका हटाएं। इसके बाद नई निर्देशिकाएं बनाएं और डीएफएस और यार्न को पुनरारंभ करें।


नाम नोड की तुलना में असंगत क्लस्टरिड्स की वजह से डेटा नोड मर जाता है। इस समस्या को ठीक करने के लिए आपको निर्देशिका / tmp / hadoop- [user] / hdfs / डेटा को हटाना होगा और हैडऑप को पुनरारंभ करना होगा।

rm -r /tmp/hadoop-[user]/hdfs/data

आपको अनुसरण करने के रूप में करना होगा:

  • bin/stop-all.sh
  • rm -Rf /home/prassanna/usr/local/hadoop/yarn_data/hdfs/*
  • bin/hadoop namenode -format

मुझे तब तक एक ही समस्या थी जब तक मुझे इस वेबसाइट में कोई जवाब नहीं मिला।