जब मेरा कोड एक अनचाहे अपवाद का सामना करता है तो मैं अपने सभी हडूप नौकरियों को स्वचालित रूप से मारना चाहता हूं। मैं सोच रहा हूं कि ऐसा करने का सबसे अच्छा अभ्यास क्या है?हडूप नौकरियों को कैसे मारना है
धन्यवाद
जब मेरा कोड एक अनचाहे अपवाद का सामना करता है तो मैं अपने सभी हडूप नौकरियों को स्वचालित रूप से मारना चाहता हूं। मैं सोच रहा हूं कि ऐसा करने का सबसे अच्छा अभ्यास क्या है?हडूप नौकरियों को कैसे मारना है
धन्यवाद
एक बिना क्रिया का अपवाद (यह मानते हुए कि यह एक विशेष डेटा नोड से त्रुटियों को पढ़ने के लिए विरोध के रूप में बुरा डेटा की तरह दोहराने योग्य है) होगा अंततः वैसे भी काम असफल।
आपको कभी-कभी एक विशेष नक्शा की अधिकतम संख्या को कॉन्फ़िगर या पहले पूरे काम में विफल रहता है असफल हो सकता है निम्नलिखित गुण के माध्यम से कार्य को कम कर सकते हैं:
mapred.map.max.attempts
- प्रति नक्शा कार्य प्रयासों की अधिकतम संख्या। दूसरे शब्दों में, ढांचा इसे छोड़ने से पहले कई बार नक्शा कार्य निष्पादित करने का प्रयास करेगा।mapred.reduce.max.attempts
- एक ही जैसा कि ऊपर है, लेकिन के लिए कार्यको कम आप पहली बार की विफलता, के लिए 1.
के आधार पर 4 की अपनी डिफ़ॉल्ट से यह मान सेट पर काम बाहर असफल करना चाहते हैं संस्करण, कार्य करें:
संस्करण < 2.3.0
एक Hadoop काम को मारने:
hadoop job -kill $jobId
आप सभी jobId के कर की एक सूची प्राप्त कर सकते हैं:
yarn application -kill $ApplicationId
:
hadoop job -list
संस्करण> = 2.3.0
एक Hadoop काम को मारने आप सभी एप्लिकेशन आईडी की एक सूची प्राप्त कर सकते हैं कर रहा है:
yarn application -list
ने भी काम किया- नौकरी $ नौकरी –
बस प्रक्रिया आईडी को मजबूती से मार दें, हैडऑप नौकरी स्वचालित रूप से भी मारे जायेगी। इस आदेश का उपयोग करें:
kill -9 <process_id>
folloing कमान की
eg: process ID no: 4040 namenode
[email protected]:~$ kill -9 4040
उपयोग मूल्यह्रास हुआ है
hadoop job -list
hadoop job -kill $jobId
mapred job -list
mapred job -kill $jobId
काम नहीं कर रहा है और निम्नलिखित त्रुटि में परिणाम: थ्रेड में अपवाद "मुख्य" java.lang.IllegalArgumentException: JobId स्ट्रिंग: application_1470941878165_0001 ठीक तरह से गठित नहीं है – tribbloid
भागो list
का उपयोग कर सभी नौकरियों को दिखाने के लिए विचार करते हैं, तो का उपयोग उपयुक्त सी में jobID/applicationID ommand।
को मार डालो mapred नौकरियों:
mapred job -list
mapred job -kill <jobId>
को मार डालो यार्न नौकरियों:
yarn application -list
yarn application -kill <ApplicationId>
लेकिन यह भी अगर एक नोड मर जाता है और अपने कार्यों को विफल रहते हैं, भले ही कोई अपवाद फेंक दिया है एक नौकरी विफल हो जाएगा , सही? हालांकि, मेरा मानना है कि ओपी चाहता है कि यह वास्तव में निकटतम समाधान है। – vefthym