2016-01-05 11 views
7

पंजीकृत करने के लिए प्रतीक्षा करें मैं हडोप पारिस्थितिकी तंत्र में नया हूं।यार्न एप्प्लिकेशंसस्टेट: स्वीकृत: एएम कंटेनर आवंटित, लॉन्च और

मैंने हाल ही में किसी भी समस्या के बिना एकल-नोड क्लस्टर पर हडोप (2.7.1) की कोशिश की और एक मल्टी-नोड क्लस्टर पर जाने के लिए 1 नमूनोड और 2 डाटानोड्स पर जाने का फैसला किया।

हालांकि मुझे एक अजीब समस्या का सामना करना पड़ रहा है।

वेब इंटरफेस पर

: जो भी नौकरी है कि मैं, चलाने का प्रयास निम्न संदेश के साथ फंस रहे हैं

YarnApplicationState: ACCEPTED: waiting for AM container to be allocated, launched and register 

और CLI में:

16/01/05 17:52:53 INFO mapreduce.Job: Running job: job_1451083949804_0001 

वे भी नहीं है शुरू करें और इस बिंदु पर मुझे यकीन नहीं है कि इसे काम करने के लिए मुझे किन परिवर्तनों की आवश्यकता है।

यहाँ है कि मैं क्या हल करने की कोशिश की है:

  1. सभी नोड्स
  2. कम संसाधन सीमा
  3. विभिन्न मशीनों, राउटर और distros

मैं तहत विन्यस्त करने की स्थापना पर फ़ायरवॉल को निष्क्रिय करने सही दिशा में वास्तव में किसी भी मदद (यहां तक ​​कि एक मिनट संकेत) की सराहना करेंगे। इन निर्देशों का

मैं पालन किया है (विन्यास):

उत्तर

6

मैं अंत में इस हल मिल गया। भविष्य के संदर्भ के लिए विस्तृत कदम पोस्ट करना।

Hadoop (2.7.1) मल्टी-नोड क्लस्टर विन्यास (केवल परीक्षण वातावरण के लिए)

  1. सुनिश्चित करें कि आप मेजबान अलगाव के बिना एक विश्वसनीय नेटवर्क है कि सुनिश्चित करें। स्टेटिक आईपी असाइनमेंट बेहतर है या कम से कम लंबे डीएचसीपी पट्टा है। इसके अतिरिक्त सभी नोड्स (नामनोड/मास्टर & डेटानोड/दास) के पास एक ही पासवर्ड वाला एक सामान्य उपयोगकर्ता खाता होना चाहिए; यदि आप नहीं करते हैं, तो ऐसे उपयोगकर्ता खाते को सभी नोड्स पर बनाएं। सभी नोड्स पर एक ही उपयोगकर्ता नाम और पासवर्ड होने से चीज़ें थोड़ा कम जटिल होती हैं।
  2. [सभी मशीनों पर] पहले एकल-नोड क्लस्टर के लिए सभी नोड्स को कॉन्फ़िगर करें। आप मेरी स्क्रिप्ट का उपयोग कर सकते हैं जिसे मैंने here पर पोस्ट किया है।
  3. stop-dfs.sh;stop-yarn.sh;jps 
    rm -rf /tmp/hadoop-$USER 
    

    [सभी मशीनों पर] एक नया टर्मिनल

    में इन आदेश पर अमल

    rm -rf ~/hadoop_store/hdfs/datanode 
    

    [पर [Namenode/मास्टर केवल पर] डेटानोड/दास केवल]

    rm -rf ~/hadoop_store/hdfs/namenode 
    
  4. [सभी मशीनों पर] क्लस्टर में सभी नोड्स के लिए आईपी पते और इसी होस्ट नाम जोड़ें।

    sudo nano /etc/hosts 
    

    मेजबान

    xxx.xxx.xxx.xxx master 
    xxx.xxx.xxx.xxy slave1 
    xxx.xxx.xxx.xxz slave2 
    # Additionally you may need to remove lines like "xxx.xxx.xxx.xxx localhost", "xxx.xxx.xxx.xxy localhost", "xxx.xxx.xxx.xxz localhost" etc if they exist. 
    # However it's okay keep lines like "127.0.0.1 localhost" and others. 
    
  5. [सभी मशीनों पर] कॉन्फ़िगर iptables

    डिफ़ॉल्ट या कस्टम बंदरगाहों कि आप फ़ायरवॉल के माध्यम से विभिन्न Hadoop डेमॉन के लिए उपयोग करने की योजना की अनुमति दें

    या

    बहुत आसान, iptables

    • RedHat पर distros की तरह

      (फेडोरा, CentOS)

      sudo systemctl disable firewalld 
      sudo systemctl stop firewalld 
      
    • डेबियन पर

      distros की तरह (उबंटू)

      sudo ufw disable 
      
  6. [को निष्क्रिय Namenode/मास्टर पर केवल] नाम से एसएसएच पहुंच प्राप्त करें सभी Datnodes (दास) के लिए enode (मास्टर)। ping slave1, ssh slave1, ping slave2, ssh slave2 आदि चलाकर

    ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] 
    ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] 
    

    पुष्टि चीजें आप एक उचित प्रतिक्रिया होनी चाहिए। (exit टाइप करके या टर्मिनल को बंद करके अपने प्रत्येक एसएसएच सत्र से बाहर निकलना याद रखें। सुरक्षित पक्ष पर रहने के लिए मैंने यह भी सुनिश्चित किया है कि सभी नोड्स एक दूसरे तक पहुंचने में सक्षम थे न कि नमनोड/मास्टर।)

  7. [सभी मशीनों पर] संपादित कोर-site.xml फ़ाइल

    nano /usr/local/hadoop/etc/hadoop/core-site.xml 
    

    कोर-site.xml

    <configuration> 
        <property> 
         <name>fs.defaultFS</name> 
         <value>master:9000</value> 
         <description>NameNode URI</description> 
        </property> 
    </configuration> 
    
  8. [सभी मशीनों पर] यार्न-साइट संपादित करें।xml फ़ाइल

    nano /usr/local/hadoop/etc/hadoop/yarn-site.xml 
    

    यार्न-site.xml

    <configuration> 
        <property> 
         <name>yarn.resourcemanager.hostname</name> 
         <value>master</value> 
         <description>The hostname of the RM.</description> 
        </property> 
        <property> 
         <name>yarn.nodemanager.aux-services</name> 
         <value>mapreduce_shuffle</value> 
        </property> 
        <property> 
         <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> 
         <value>org.apache.hadoop.mapred.ShuffleHandler</value> 
        </property> 
    </configuration> 
    
  9. [सभी मशीनों पर] दास फ़ाइल को संशोधित, "स्थानीय होस्ट" पाठ को हटाने और जोड़ने के गुलाम होस्ट नामों

    nano /usr/local/hadoop/etc/hadoop/slaves 
    

    दास

    slave1 
    slave2 
    

    (मुझे लगता है कि यह नमनोड/मास्टर पर ही काम करेगा, लेकिन मैंने यह भी सभी मशीनों पर किया था। यह भी ध्यान रखें कि इस विन्यास में मास्टर केवल संसाधन चरनी के रूप में व्यवहार करती है, यह है कि यह कैसे मैं आशय हो रहा है।)

  10. [सभी मशीनों पर] HDFS-site.xml फ़ाइल को संशोधित करने के लिए कुछ संपत्ति dfs.replication के लिए मान बदलने के लिए > 1 (कम से कम क्लस्टर में गुलामों की संख्या के लिए, यहाँ मैं दो दास है, तो मैं इसे 2 करने के लिए सेट हैं)
  11. [namenode/मास्टर पर केवल] (री) HDFS namenode

    के माध्यम से स्वरूपित
    hdfs namenode -format 
    
  12. [वैकल्पिक]
    • मास्टर की hdfs-site.xml फ़ाइल से dfs.datanode.data.dir संपत्ति को हटा दें।
    • सभी दास की hdfs-site.xml फ़ाइल से dfs.namenode.name.dir संपत्ति को हटा दें।

परीक्षण (केवल Namenode/मास्टर पर अमल) कुछ सेकंड के लिए

start-dfs.sh;start-yarn.sh 

echo "hello world hello Hello" > ~/Downloads/test.txt 

hadoop fs -mkdir /input 

hadoop fs -put ~/Downloads/test.txt /input 

hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar wordcount /input /output 

इंतजार और नक्शाकार और कम करने शुरू करना चाहिए।


ये लिंक मुझे इस मुद्दे के साथ मदद:

0

मैं जब मैं

"Hadoop जार Hadoop-mapreduce भाग गया एक ही समस्या से मुलाकात की -examples-2.6.4.jar शब्द गणना/गणना गणना/आउटपुट "

इस आदेश वहाँ बंद कर दिया,

मैं काम पर नज़र रखी है, और लगता है "वहाँ 15 लापता ब्लॉकों हैं, और वे सभी भ्रष्ट कर रहे हैं"

तो

मैं निम्नलिखित किया: 1) भाग गया "HDFS fsck/" 2)" hdfs fsck/-delete "चलाया 3) दो डेटानोड 4 पर/etc/sysconfig/iptables को" -A INPUT -p tcp -j ACCEPT "जोड़ा गया) 4" स्टॉप-सब "चला गया।श और start-all.sh "

सब कुछ अच्छी तरह से चला जाता है

मुझे लगता है कि फ़ायरवॉल प्रमुख मुद्दा है।

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