hadoop
स्थानीय ग्रहण देव वातावरण में Hadoop MR Java कोड को डीबग करना।
खोज…
परिचय
यहाँ पर याद रखने वाली मूल बात यह है कि Hadoop MR जॉब को डिबग करना एक्लिप्स में किसी भी दूरस्थ डिबग किए गए एप्लिकेशन के समान होने वाला है।
डीबगर या डिबगिंग टूल एक कंप्यूटर प्रोग्राम है जिसका उपयोग अन्य प्रोग्राम ("लक्ष्य" प्रोग्राम) को टेस्ट और डीबग करने के लिए किया जाता है। यह विशेष रूप से एक Hadoop वातावरण के लिए बहुत उपयोगी है जिसमें त्रुटि के लिए बहुत कम जगह होती है और एक छोटी सी त्रुटि एक बहुत बड़ा नुकसान का कारण बन सकती है।
टिप्पणियों
बस आपको इतना ही करना है।
विन्यास के लिए कदम
जैसा कि आप जानते हैं, Hadoop को स्थानीय वातावरण में 3 अलग-अलग तरीकों से चलाया जा सकता है:
- स्थानीय प्रणाली
- छद्म वितरित मोड
- पूरी तरह से वितरित मोड (क्लस्टर)
आमतौर पर आप एचडीएस और मैप रिड्यूस (एमआर) का लाभ उठाने के लिए स्यूडो डिस्ट्रीब्यूटेड मोड में अपना स्थानीय हडूप सेटअप चला रहे होंगे। हालाँकि, आप इस मोड में MR प्रोग्राम डिबग नहीं कर सकते हैं क्योंकि प्रत्येक मैप / रिड्यूस कार्य एक अलग JVM प्रक्रिया में चल रहा होगा, इसलिए आपको स्थानीय मोड पर वापस स्विच करने की आवश्यकता है जहां आप एकल MRV प्रक्रिया में अपने MR प्रोग्राम चला सकते हैं।
यहां आपके स्थानीय परिवेश में इसे डीबग करने के लिए त्वरित और सरल चरण दिए गए हैं:
डिबगिंग के लिए स्थानीय मोड में रन-अप किया गया ताकि अलग-अलग जेवीएम के बजाय एक ही जेवीएम में मैपर और रिड्यूसर कार्यों को चलाया जा सके। नीचे दिए गए कदम इसकी मदद करते हैं।
डिबगिंग को सक्षम करने के लिए HADOOP_OPTS कॉन्फ़िगर करें ताकि जब आप अपना Hadoop कार्य चलाएं, तो यह डीबगर से कनेक्ट होने की प्रतीक्षा कर रहा होगा। नीचे पोर्ट 8080 पर समान डीबग करने के लिए कमांड है।
(निर्यात HADOOP_OPTS = ”- Agentlib: jdwp = transport = dt_socket, server = y, निलंबित = y, पता = 8008”)
फाइल करने के लिए core-site.xml में fs.default.name मान कॉन्फ़िगर करें: /// hdfs से: //। आप स्थानीय मोड में hdfs का उपयोग नहीं करेंगे।
स्थानीय में mapred-site.xml में mapred.job.tracker मान कॉन्फ़िगर करें। यह Hadoop को एकल JVM में MR कार्य चलाने का निर्देश देगा।
ग्रहण के लिए डिबग कॉन्फ़िगरेशन बनाएं और पोर्ट को 8008 पर सेट करें - विशिष्ट सामान। इसके लिए डीबगर कॉन्फ़िगरेशन पर जाएं और एक नया रिमोट जावा एप्लिकेशन प्रकार का कॉन्फ़िगरेशन बनाएं और सेटिंग्स में 8080 के रूप में पोर्ट सेट करें।
अपना हडॉप कार्य चलाएं (यह कनेक्ट होने के लिए डीबगर का इंतजार कर रहा होगा) और फिर उपरोक्त कॉन्फ़िगरेशन के साथ डिबग मोड में एक्लिप्स लॉन्च करें। पहले ब्रेक-पॉइंट लगाना सुनिश्चित करें।