2011-10-19 20 views
12

मैं हडूप में नया हूं इसलिए मुझे कुछ संदेह हैं। यदि मास्टर-नोड हडूप क्लस्टर के साथ क्या विफल रहता है? क्या हम बिना किसी नुकसान के उस नोड को ठीक कर सकते हैं? क्या वर्तमान में विफल होने पर मास्टर को स्वचालित रूप से स्विच करने के लिए द्वितीयक मास्टर-नोड रखना संभव है?हडोप डाटानोड, नामनोड, माध्यमिक-नामनोड, जॉब-ट्रैकर और टास्क-ट्रैकर

हमारे पास नामनोड (माध्यमिक नामनोड) का बैकअप है, इसलिए जब हम विफल हो जाते हैं तो हम माध्यमिक नामनोड से नामनोड को पुनर्स्थापित कर सकते हैं। इस तरह, डेटाानोड विफल होने पर हम डाटानोड में डेटा को कैसे पुनर्स्थापित कर सकते हैं? द्वितीयक नामनोड नमनोड का बैकअप है जो केवल डेटनोड नहीं है, है ना? यदि नौकरी पूरा होने से पहले कोई नोड विफल हो जाता है, तो जॉब ट्रैकर में नौकरी लंबित है, क्या यह नौकरी जारी है या मुक्त नोड में पहले से पुनरारंभ है?

यदि कुछ भी होता है तो हम पूरे क्लस्टर डेटा को कैसे पुनर्स्थापित कर सकते हैं?

और मेरा अंतिम प्रश्न, क्या हम मैड्रिडस में सी प्रोग्राम का उपयोग कर सकते हैं (उदाहरण के लिए, मैप्रेडस में बबल सॉर्ट)?

अग्रिम

उत्तर

14

धन्यवाद वर्तमान में Hadoop क्लस्टर असफलता का एक बिंदु है जिस namenode है।

और (apache wiki से) माध्यमिक नोड isssue के बारे में:

शब्द "माध्यमिक नाम नोड" कुछ भ्रामक है। यह नाम-नोड इस अर्थ में नहीं है कि डेटा-नोड द्वितीयक नाम-नोड से कनेक्ट नहीं हो सकते हैं, और किसी भी स्थिति में यह प्राथमिक नाम-नोड को में विफलता के मामले में प्रतिस्थापित कर सकता है।

द्वितीयक नाम-नोड का एकमात्र उद्देश्य आवधिक चेकपॉइंट्स करना है। द्वितीयक नाम-नोड समय-समय पर वर्तमान नाम-नोड छवि डाउनलोड करता है और लॉग फ़ाइलों को संपादित करता है, उन्हें नई छवि में जोड़ता है और नई छवि को वापस (प्राथमिक और केवल) नाम-नोड पर अपलोड करता है। उपयोगकर्ता मार्गदर्शिका देखें।

तो अगर नाम नोड विफल रहता है और आप एक ही शारीरिक नोड पर उसे पुन: प्रारंभ कर सकते हैं तो बंद डेटा नोड्स करने की कोई जरूरत है, सिर्फ नाम नोड पुन: प्रारंभ करने की आवश्यकता है। यदि आप पुराने नोड का उपयोग नहीं कर सकते हैं तो आप को कहीं और नवीनतम छवि की प्रतिलिपि बनाने की आवश्यकता होगी। उपलब्ध होने पर नवीनतम छवि हो सकती है जो नोड पर पाई जाती है जो विफलता से पहले प्राथमिक होती थी; या माध्यमिक नाम-नोड पर। उत्तरार्द्ध बाद के संपादन लॉग के बिना नवीनतम चेकपॉइंट होगा, यह सबसे अधिक हालिया नाम अंतरिक्ष संशोधन वहां गायब हो सकता है। आप को इस मामले में पूरे क्लस्टर को पुनरारंभ करने की आवश्यकता होगी।

विफलता के इस बिंदु को दूर करने के कठिन तरीके हैं। यदि आप क्लौडेरा वितरण का उपयोग कर रहे हैं, तो तरीकों में से एक ने here समझाया। इस स्पॉफ को संभालने के लिए मैपर वितरण में different way है।

अंत में, आप नक्शा लिखने के लिए प्रत्येक प्रोग्रामिंग भाषा का उपयोग hadoop streaming से कम कर सकते हैं।

+5

बहुत से लोग माध्यमिक नामनोड को "चेकपॉइंट नोड" कह रहे हैं, जो एक अच्छी बात है। –

+0

कोई भी प्रोग्रामिंग भाषा जो एसटीडीआईएन/एसटीडीओयूटी को पढ़/लिख सकती है, हैडोप स्ट्रीमिंग के साथ उपयोग की जा सकती है। कुछ [ढांचे] (http://goo.gl/aaVYN) हैं जो हडोप स्ट्रीमिंग को आसान बनाते हैं। –

21

हालांकि, आपके प्रश्न का उत्तर देने में बहुत देर हो चुकी है लेकिन यह दूसरों की मदद कर सकती है .., लॉग फ़ाइलें 'वापस पिछले एक घंटा (विन्यास) के लिए संपादित

यह नाम अंतरिक्ष छवि शामिल है:

सभी सबसे पहले मेरे साथ माध्यमिक नाम नोड परिचय करते हैं। और इसका काम नवीनतम नाम नोड नाम स्पेस इमेज को विलय करना है और नामों को वापस पुराने स्थान के प्रतिस्थापन के रूप में अपलोड करने के लिए लॉग फ़ाइलों को संपादित करना है। क्लस्टर में माध्यमिक एनएन रखने के लिए अनिवार्य नहीं है।

अब अपनी चिंताओं के लिए आ रहा ..

  • मास्टर नोड में विफल रहता है क्या Hadoop क्लस्टर हुआ है?

कमजोर के जवाब सहायक, हाँ Hadoop विफलता के एकल बिंदु तो अपने वर्तमान में चल रहे कार्य के पूरी तरह मानचित्र-कम करें या किसी अन्य कि उपयोग कर रहा है विफल रही मास्टर नोड बंद हो जाएगा है। क्लाइंट समेत संपूर्ण क्लस्टर काम करना बंद कर देगा।

  • हम किसी भी हानि के बिना उस नोड को ठीक कर सकते हैं?

कि काल्पनिक है, हानि के बिना यह कम से कम संभव है, के रूप में सभी डेटा (ब्लॉक रिपोर्ट) को खो दिया जाएगा जो डाटा नोड्स द्वारा भेजा है नोड नाम करने के लिए पिछले वापस ऊपर द्वारा उठाए के बाद माध्यमिक नाम नोड। मैंने का उल्लेख क्यों किया, क्योंकि अगर नामक नोड एक सफल बैक अप के बाद माध्यमिक नाम नोड द्वारा विफल रहता है तो यह सुरक्षित स्थिति में है।

  • यह एक माध्यमिक मास्टर नोड मास्टर जब वर्तमान एक विफल करने के लिए अपने आप स्विच करने रखने के लिए संभव है?

यह एक प्रशासक (उपयोगकर्ता) द्वारा staright संभव है। और इसे स्वचालित रूप से स्विच करने के लिए आपको क्लस्टर से कोड करने के लिए क्लस्टर, कोड से मूल कोड लिखना होगा जो द्वितीयक नाम नोड को स्मार्टफ़ोन को कॉन्फ़िगर करेगा और नए नाम नोड पते के साथ क्लस्टर को पुनरारंभ करेगा।

  • हम namenode (माध्यमिक namenode) का बैकअप है, इसलिए जब यह विफल हम माध्यमिक namenode से namenode बहाल कर सकते हैं। इस तरह, डेटाानोड विफल होने पर हम डाटानोड में डेटा को कैसे पुनर्स्थापित कर सकते हैं?

यह लगभग replication factor, हम 3 (सबसे अच्छा अभ्यास के रूप में डिफ़ॉल्ट, विन्यास) सभी विभिन्न डेटा नोड्स में प्रत्येक फ़ाइल ब्लॉक की प्रतिकृतियां है है। तो समय के लिए विफलता के मामले में हमारे पास 2 बैक अप डेटा नोड्स हैं। बाद में नाम नोड डेटा की एक और प्रतिकृति बनाएगा जो डेटा नोड में विफल रहा।

  • माध्यमिक namenode namenode का बैकअप केवल datenode के लिए नहीं, सही है?

ठीक है। इसमें डेटा नोड पता जैसे डेटा नोड्स के सभी मेटाडेटा शामिल हैं, प्रत्येक डेटा नोड की ब्लॉक रिपोर्ट सहित गुण।

  • एक नोड कार्य की पूर्णता से पहले विफल रही है, तो इसलिए वहाँ काम काम पर नजर में लंबित है, उस काम जारी रखने के लिए या मुफ्त नोड में पहले से पुनः आरंभ है?

HDFS forcely काम जारी रखने की कोशिश करेंगे। लेकिन फिर यह प्रतिकृति कारक, rack awareness और other configuration व्यवस्थापक द्वारा किए गए पर निर्भर करता है। लेकिन यदि एचडीएफएस के बारे में हैडोप के सर्वोत्तम प्रथाओं का पालन करते हैं तो विफल नहीं होगा। जॉबट्रैकर को continnue पर दोहराया गया नोड पता मिलेगा।

  • कैसे हम संपूर्ण समूह का डेटा अगर कुछ भी होता है बहाल कर सकते हैं?

यह पुन: प्रारंभ करके।

  • और मेरी अंतिम सवाल है, हम सी MapReduce में प्रोग्राम का उपयोग कर सकते हैं (उदाहरण के लिए, mapreduce में बुलबुला तरह)?

हाँ, आप जो मानक फ़ाइल पढ़ने लिखने कार्य का समर्थन किसी भी प्रोग्रामिंग भाषा का उपयोग कर सकते हैं।

मैंने अभी कोशिश की है। उम्मीद है कि यह आपको और साथ ही दूसरों की भी मदद करेगा।

* सुझाव/सुधार स्वागत है। *

+2

बहुत अच्छा और स्पष्ट स्पष्टीकरण। ऐसा लगता है कि आप एक हडोप आर्किटेक्ट हैं और लंबे समय से हडूप पर काम कर रहे हैं। –

+0

धन्यवाद @ प्रमोदकुमार, बस इसे सीखना। :) – manurajhada

0

हालांकि, आपके प्रश्न का उत्तर देने में बहुत देर हो चुकी है, लेकिन यह दूसरों की मदद कर सकती है .. सबसे पहले हम हडोप 1 की भूमिका पर चर्चा करेंगे।एक्स daemons और फिर अपने मुद्दों ..

1. द्वितीयक नाम नोड की भूमिका क्या है यह बिल्कुल बैकअप नोड नहीं है। यह एक संपादन लॉग पढ़ता है और समय-समय पर नाम नोड के लिए अद्यतन fsimage फ़ाइल बनाता है। यह नाम नोड से समय-समय पर मेटाडेटा प्राप्त करता है और इसे नाम रखता है और नाम नोड विफल होने पर उपयोग करता है। 2. नाम नोड की भूमिका क्या है यह सभी डेमॉन का प्रबंधक है। मास्टर मास्टर नोड पर चलने वाला मास्टर जेवीएम प्रोसेस। यह डेटा नोड्स के साथ बातचीत करता है।

3. क्या काम पर नजर की भूमिका यह काम स्वीकार करता है और डेटा नोड्स पर प्रसंस्करण के लिए ट्रैकर कार्य करने वितरित करता है। इसे मानचित्र प्रक्रिया

4. कार्य ट्रैकर्स की भूमिका क्या है यह डेटा नोड पर मौजूदा डेटा पर प्रसंस्करण के लिए प्रदान किया गया प्रोग्राम निष्पादित करेगा। उस प्रक्रिया को मानचित्र के रूप में जाना जाता है। Hadoop 1.x के

सीमाओं

  1. विफलता का एक बिंदु जो नाम नोड है तो हम नाम नोड के लिए उच्च गुणवत्ता वाले हार्डवेयर बनाए रख सकते हैं। अगर नाम नोड में विफल रहता है सब कुछ दुर्गम

समाधान विफलता के एकल बिंदु का हल हो जाएगा Hadoop 2.X जो उच्च उपलब्धता प्रदान करता है।

high availability with hadoop 2.X

अब अपने विषयों ....

कैसे अगर कुछ भी होता है हम संपूर्ण समूह का डेटा को पुनर्स्थापित कर सकते हैं? यदि क्लस्टर विफल रहता है हम इसे पुनः आरंभ कर सकते ..

एक नोड कार्य की पूर्णता से पहले विफल रही है, तो इसलिए वहाँ काम काम पर नजर में लंबित है, उस काम जारी रखने के लिए या मुफ्त नोड में पहले से पुनः आरंभ है? हम डिफ़ॉल्ट 3 डेटा की प्रतिकृतियां (मैं ब्लॉक का मतलब है) उच्च उपलब्धता पाने के लिए यह व्यवस्थापक पर निर्भर करता है कि कितना प्रतिकृतियां वह की स्थापना की है ... इसलिए नौकरी ट्रैकर अन्य डेटा नोड पर डेटा की दूसरी प्रति के साथ जारी रहेगा है

क्या हम मैड्रिड में सी प्रोग्राम का उपयोग कर सकते हैं (उदाहरण के लिए, मैप्रिडस में बबल सॉर्ट)? मूल रूप से मैप्रिडस निष्पादन इंजन है जो वितरित शिष्टाचार (स्टोरेज प्लस प्रोसेसिंग) में बड़ी डेटा समस्या को हल या संसाधित करेगा। हम मैप्रिडस प्रोग्रामिंग का उपयोग कर फाइल हैंडलिंग और अन्य सभी बुनियादी परिचालन कर रहे हैं ताकि हम किसी भी भाषा का उपयोग कर सकें जहां हम आवश्यकताओं के अनुसार फाइलों को संभाल सकते हैं।

Hadoop 1.x वास्तुकला hadoop 1.x has 4 basic daemons

मैं बस एक कोशिश दे दी है। उम्मीद है कि यह आपको और साथ ही दूसरों की भी मदद करेगा।

सुझाव/सुधार स्वागत है।

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