

क्या विंडोज एज़्योर में हडोप क्लस्टर को तैनात करना संभव है? बेशक, हां, और जैसा कि आप देख सकते हैं, यह बिल्कुल मुश्किल नहीं है।
इस लेख में, मैं नाम नोड, नौकरी ट्रैकर सर्वर और स्लेव सर्वर की एक नियंत्रित संख्या के साथ एक विशिष्ट क्लस्टर बनाने का प्रदर्शन करूंगा। आप Azure प्रबंधन पोर्टल का उपयोग करके स्लेव सर्वर की संख्या को गतिशील रूप से बदल सकते हैं। मैं इस नियंत्रण के यांत्रिकी का वर्णन अगले पोस्ट के लिए छोड़ दूंगा।
खरोंच से अपने Hadoop क्लस्टर के लिए एक Azure पैकेज बनाने के लिए इन चरणों का पालन करें:
आवश्यक उपकरण डाउनलोड करें
- दृश्य स्टूडियो 2010 के लिए यह प्रोजेक्ट टेम्पलेट डिफ़ॉल्ट रूप से Hadoop क्लस्टर के प्रत्येक घटक के लिए भूमिकाओं के साथ कॉन्फ़िगर किया गया है। यदि आपके पास विज़ुअल स्टूडियो नहीं है या आप मुफ्त एक्सप्रेस संस्करण स्थापित नहीं करना चाहते हैं, तो आप कमांड लाइन से सभी काम कर सकते हैं;
- क्लस्टर कॉन्फ़िगरेशन टेम्पलेट ;
- इस लेख को लिखने ( और अनुवाद करने ) के समय Azure SDK का नवीनतम संस्करण स्थापित करें - यह संस्करण 1.4 था;
- Hadoop बाइनरी घटक । मैंने 0.21 संस्करण का उपयोग किया। Hadoop को tar.gz फ़ाइल के रूप में वितरित किया जाता है, आपको इसे ज़िप संग्रह में बदलने की आवश्यकता होगी, जिसके लिए आप निशुल्क 7- ज़िप आर्काइव का उपयोग कर सकते हैं;
- अब आपको साइगविन को स्थापित करने की आवश्यकता है , और फिर इसे ज़िप संग्रह में पैक करें। Hadoop 0.21 को विंडोज पर Cygwin की आवश्यकता होती है। यह ठीक है कि अगर आप साइगविन के बारे में कुछ नहीं जानते हैं, तो Hadoop खुद इसका उपयोग करता है, इसलिए आपको इसे स्वयं चलाने की आवश्यकता नहीं है। भविष्य में, Hadoop 0.22 इस निर्भरता को खोने की संभावना है, लेकिन अभी तक यह संस्करण अभी तक तैयार नहीं है। बस Cygwin इंस्टॉलर चलाएं और इंस्टॉलेशन विज़ार्ड में सभी डिफ़ॉल्ट सेटिंग्स को स्वीकार करें। Cygwin को C: \ cygwin फ़ोल्डर में स्थापित किया जाएगा, इस फ़ोल्डर को आर्काइव में पैक करें cygwin.zip;
- अभी तक एक और जावा सेवा आवरण का नवीनतम संस्करण डाउनलोड करें। लेखन के समय, यह संस्करण बीटा-10.6 था;
- अंतिम घटक जो आपको चाहिए वह है Hadoop और YAJSW को चलाने के लिए जावा वर्चुअल मशीन। यदि आप इस नियमावली में प्रस्तुत विन्यास फाइल को अद्यतन नहीं करना चाहते हैं, तो आपको अपने पसंदीदा JVM को zdk.zip नामक ज़िप संग्रह में पैक करना होगा। सभी JVM फाइलें C: \ Program Files \ Java \ jdk1.6.0_ <revision number> \ पर मिल सकती हैं। आपको इस फ़ोल्डर से सभी फ़ाइलों को jdk फ़ोल्डर में कॉपी करने और इसे ज़िप संग्रह में पैक करने की आवश्यकता है।
अपने क्लस्टर को कॉन्फ़िगर करना
आपके द्वारा पहले डाउनलोड किए गए क्लस्टर-config.zip फ़ाइल में आपके Hadoop क्लस्टर को कॉन्फ़िगर करने के लिए सभी आवश्यक फाइलें हैं। आपको इसमें परिचित फाइलें [कोर | hdfs | mapred] -site.xml मिल सकती हैं। जब तक आप उन पर ध्यान नहीं देंगे, मैं अगले लेख में उनके उद्देश्य के बारे में बात करूंगा। क्लस्टर कॉन्फ़िगरेशन मापदंडों के अनुसार * -site.xml फ़ाइलों को संपादित करें जिनकी आपको आवश्यकता है। सुनिश्चित करें कि आप केवल नए गुण जोड़ते हैं और मौजूदा को संशोधित नहीं करते हैं।
यदि आपने क्लस्टर कॉन्फ़िगरेशन में कोई बदलाव किया है तो एक नया क्लस्टर-config.zip आर्काइव बनाएँ।
Azure Storage पर सभी घटक डाउनलोड करें
बिन नाम का एक कंटेनर बनाएं और उसमें पहले से बनाए गए सभी ज़िप अभिलेखागार को लोड करें। अपने पसंदीदा टूल का उपयोग करें, उदाहरण के लिए, ClumsyLeaf's CloudXplorer । उसके बाद, आपके पास कंटेनर में निम्नलिखित फाइलें होनी चाहिए:

Azure होस्ट कॉन्फ़िगरेशन
Visual Studio 2010 प्रोजेक्ट को अनज़िप करें। इसके बाद, आप Visual Studio 2010 या किसी टेक्स्ट एडिटर का उपयोग कर सकते हैं। मैंने उन लोगों के लिए टेम्पलेट में एक बैच फ़ाइल शामिल की है जो कमांड लाइन का उपयोग करेंगे।
यदि आप Visual Studio का उपयोग कर रहे हैं, तो आपको केवल एक फ़ाइल NameNode \ SetEnvironment.cmd बदलने की आवश्यकता है। यह अन्य प्रोजेक्ट फ़ाइलों के बीच स्थित है। यदि आप Visual Studio का उपयोग नहीं कर रहे हैं, तो आपको तीन अन्य रास्तों NameNode \ bin \ Debug, JobTracker \ bin \ Debug और दास \ bin \ Debug के साथ इस फ़ाइल को संशोधित करना होगा। अपने एज़्योर स्टोरेज खाते में अपनी पहुँच कुंजी का उपयोग करें और एक कनेक्शन स्ट्रिंग का निर्माण करें, फिर SetEnvironment.cmd फ़ाइलों की पहली पंक्ति में पाठ [आपके कनेक्शन स्ट्रिंग] को बदलें। Azure कनेक्शन स्ट्रिंग में निम्न प्रारूप है:
DefaultEndpointProtocol = http; AccountName = [your_account_name]; AccountKey = [कुंजी]
यदि आपने मेरे समान घटक संस्करणों का उपयोग किया है, तो आपको कोई और बदलाव करने की आवश्यकता नहीं होगी।
Azure में होस्टिंग नाम नोड के लिए एक बड़ी भूमिका, नौकरी ट्रैकर के लिए एक बड़ी भूमिका और स्लेव नोड के लिए 4 अतिरिक्त बड़ी भूमिका के लिए कॉन्फ़िगर की जाएगी। यदि आप इस कॉन्फ़िगरेशन के साथ सहज हैं, तो अगले चरण पर जाएं। यदि आप, इसके विपरीत, भूमिकाओं के कॉन्फ़िगरेशन को बदलना चाहते हैं, तो Visual Studio की भूमिकाओं को कॉन्फ़िगर करने की क्षमता का उपयोग करें या मैन्युअल रूप से HadoopAzure \ ServiceDefinition.csdef और HadoopAzure \ ServiceCadfiguration.cscfg फ़ाइलों को आकार और भूमिकाओं की संख्या निर्धारित करने के लिए संपादित करें।
Azure में अपने क्लस्टर को होस्ट करना
Hureop को Azure पर होस्ट करने के लिए एक नई सेवा बनाएं। आपके पास जो प्रोजेक्ट है वह क्लस्टर में मशीनों तक रिमोट एक्सेस की अनुमति देने के लिए कॉन्फ़िगर किया गया है। यदि आपने प्रोजेक्ट का कॉन्फ़िगरेशन नहीं बदला है, तो आपको अपनी सेवा के प्रोजेक्ट रूट में AzureHadoop.pfx प्रमाणपत्र अपलोड करने की आवश्यकता है। प्रमाण पत्र के लिए पासवर्ड हैवड । यदि आपके पास यह प्रमाणपत्र नहीं है, तो प्लेसमेंट सफलतापूर्वक पूरा नहीं होगा।
यदि आप Visual Studio 2010 का उपयोग कर रहे हैं, तो आप प्रोजेक्ट पर राइट-क्लिक करके और Deploy कमांड का चयन करके प्रोजेक्ट को जगह दे सकते हैं। यदि आप VS2010 का उपयोग नहीं कर रहे हैं, तो केवल Windows Azure SDK कमांड प्रॉम्प्ट कंसोल टूल का उपयोग करके प्रोजेक्ट रूट से buildPackage.cmd चलाएं। आप Azure प्रबंधन पोर्टल का उपयोग करके Azure पर होस्ट करने के लिए Hadoop.cspkg पैकेज प्राप्त करेंगे।
अपनी सेवा को Azure में होस्ट करें। प्लेसमेंट पूरा होने तक प्रतीक्षा करें और आपको इस संरचना के समान कुछ दिखाई देगा:

आपका Hadoop क्लस्टर का उपयोग करना
अब जब सब कुछ कॉन्फ़िगर और काम कर रहा है, तो आप नाम नोड सारांश पृष्ठ पर जा सकते हैं। इस पेज के लिए URL होगा
http: // <अपनी सेवा का नाम> .cloudapp.net: 50070

यदि आप "फाइलसिस्टम ब्राउज़ करें" लिंक पर क्लिक करते हैं, तो Hadoop आपके लिए अपने स्लोट नोड के IP पते के साथ एक URL का निर्माण करेगा। इस तरह के वीडियो में, URL नेविगेट करने योग्य नहीं है, इसलिए आपको स्ट्रिंग में <सेवा का नाम> .cloudapp.net के साथ आईपी पते को बदलने की आवश्यकता है। उसके बाद, आप फ़ाइल सिस्टम संरचना में जा सकते हैं:

चलो एक डेमो कार्य है जो Hadoop के साथ आता है, यह सुनिश्चित करने के लिए कि क्लस्टर काम कर रहा है। वर्तमान कॉन्फ़िगरेशन के अनुसार, आपको एक नया कार्य शुरू करने के लिए जॉब ट्रैकर में लॉग इन करना होगा। निम्नलिखित लेखों में, मैं इस चरण (एज़्योर कनेक्ट टिप) के विकल्पों के बारे में बात करूंगा।
Azure Management पोर्टल पर लौटें और RDP का उपयोग जॉब ट्रैकर में जाकर चयन करके और नियंत्रण कक्ष में कनेक्ट पर क्लिक करके करें। हडूप लॉगिन और एच 1 डूप पासवर्ड का उपयोग करें। कनेक्ट करने के बाद, कमांड प्रॉम्प्ट पैनल खोलें और कुछ कमांड चलाएं:
E: \ AppRoot \ SetEnvironment.cmd
सीडी / डी% HADOOP_HOME%

अब आप कार्य को चला सकते हैं। मैंने Hadoop के लिए स्क्रिप्ट्स को संयोजित किया है, इसलिए कार्य शुरू करते समय आपको Cygwin के साथ व्यवहार नहीं करना पड़ेगा। कमांड का सिंटैक्स नियमित स्क्रिप्ट निष्पादित करते समय समान होता है। चलो एक साधारण कमांड चलाते हैं:
बिन \ _ हडूप जार हडूप-मैप्रेड-उदाहरण-0.21.0.जर पी 20 20
यदि आप अब नौकरी ट्रैकर पृष्ठ पर जाते हैं, तो आप देखेंगे कि कार्य चल रहा है। URL - http: // <अपनी सेवा का नाम> .cloudapp.net: 50030।

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

और मेरा क्लस्टर तदनुसार बदल गया है:

यदि आपने पहले ही अभ्यास में हडोप का उपयोग किया है, तो आप जानते हैं कि नाम नोड तैयार करने के लिए कुछ अतिरिक्त कदम उठाए गए हैं, मुख्य रूप से गलती सहिष्णुता सुनिश्चित करने के लिए। यह एक अलग विषय है, जिस पर अगले लेख में चर्चा करने की मेरी योजना है। यदि आप इंतजार नहीं करना चाहते हैं और अपने आप में एक बैकअप नोड और एक चेकपॉइंट नोड सेट करना चाहते हैं, तो आगे बढ़ें, यह समाधान का हिस्सा हो सकता है। एज़्योर ड्राइव का उपयोग करना समाधान का एक और हिस्सा हो सकता है।
और मुझे Windows Azure पर Hadoop का उपयोग करके अपने अनुभव के बारे में बताएं।