2012-06-22 22 views
8

जॉबट्रैकर वेब यूआई से, मुझे इस कॉलम को "असफल/हत्या कार्य प्रयास" कहा जाता है।अंतर विफल कार्य बनाम कार्य

मैं उनके बीच भेद जानना चाहता हूं। मुझे लगता है कि "असफल लोगों" का मतलब उन कार्यों का है जो वास्तव में कुछ रिट्रीज़ के बाद असफल हो गए थे (इसलिए कोई रिकवरी नहीं हुई थी?) जबकि "मारे गए" का मतलब उन कार्यों का मतलब है जो मारे गए हैं (टाइमआउट के कारण और इतने पर) लेकिन वे फिर से प्रयास कर सकते हैं?

उत्तर

11

ऐसे कुछ कारण हैं Hadoop अपने ही निर्णय से कार्य को मार सकते हैं कर रहे हैं FairScheduler) या कतार (क्षमता Scheduler)।
सी) सट्टा निष्पादन कार्य के परिणामों को अन्य जगहों पर पूरा होने के बाद आवश्यक नहीं होने का कारण बनता है।

+0

धन्यवाद डेविड का उपयोग करके कार्य प्रयासों को भी मार या विफल कर सकते हैं। आपके दूसरे बिंदु ने मुझे आश्चर्यचकित कर दिया कि क्या क्षमता शेड्यूलर इस प्रकार के पूर्व-उत्सर्जन का समर्थन करता है? मैंने सोचा कि यह समर्थन कर रहा था और फिर गिरा दिया गया था? – kee

+0

हाल ही में मैं क्षमता शेड्यूलर से यह वास्तविक कार्यक्षमता प्राप्त करने की कोशिश कर रहा था और असफल रहा। नतीजतन हमने फेयर शेड्यूलर पर स्विच किया। मैं नहीं हूं कि यह क्यों काम नहीं कर रहा है - क्या इसे गिरा दिया गया था या यह एक बग है। –

+0

टाइमआउट कार्य प्रयासों को 'विफल 'के रूप में चिह्नित किया गया है, न कि' मारे गए '। आप _Hadoop: Definitive Guide_ का संदर्भ ले सकते हैं। – zeekvfu

7

हैडोप "सट्टा निष्पादन" का उपयोग करता है। एक ही कार्य कई बक्से पर शुरू किया जा सकता है। जीतने के लिए पहला, और दूसरी प्रतियां मारे गए हैं।

असफल कार्य वे कार्य हैं जो त्रुटि करते हैं।
एक) कार्य समय समाप्त के दौरान प्रगति रिपोर्ट नहीं करता (डिफ़ॉल्ट 10 मिनट)
ख) FairScheduler है या CapacityScheduler कुछ अन्य पूल के लिए स्लॉट की जरूरत है (:

0

एक असफल कार्य प्रयास है जिसने रनिंग के दौरान अपवाद फेंक दिया, हत्या कार्य सट्टा निष्पादन की प्रक्रिया में एक डुप्लिकेट कार्य है।

+0

और मैं उस अपवाद को कैसे देख सकता हूं? मैं syslog या stderr में/mnt/var/log/hadoop/चरणों/1 (मास्टर नोड पर) में कुछ भी नहीं देखता – Gavriel

0

विफल कार्यों 1. एक गाड़ी नक्शा या कम करने कोड (क्रम अपवाद त्रुटि) 2. JVM 3. की ​​अचानक बाहर निकलने के एक फांसी कार्य (यह सट्टा निष्पादन गति प्रदान कर सकते हैं अगर यह सक्षम है)

मार डाला कार्य 1. सट्टा निष्पादन लंबे समय तक चलने वाली नौकरी को मारता है। 2. यदि कोई उपयोगकर्ता स्वयं नौकरी मारता है। 3. कार्य ट्रैकर विफलता

1

मैं डेविड के साथ असहमत हूं क्योंकि टाइमआउट कार्यों को मारने के रूप में चिह्नित नहीं किया जाता है बल्कि इसके बजाय असफल के रूप में चिह्नित किया जाता है।

मेरी समझ में नीचे परिभाषाओं को मार डाला कार्यों

बनाम में विफल रहा है के लिए कर रहे हैं

टास्क विफल किया जा सकता है की वजह से

  1. काम के लिए एक क्रम अपवाद
  2. बच्चे JVM
  3. टाइमआउट के अचानक बाहर निकलने से अधिक फेंकता mapred.task.timeout

कार्य को मार दिया जा सकता है

  1. FairScheduler या CapacityScheduler कुछ अन्य पूल (FairScheduler) या कतार (CapacityScheduler) के लिए स्लॉट की जरूरत है।
  2. सट्टा निष्पादन कार्य के परिणामों को अन्य जगहों पर पूरा होने के बाद आवश्यक नहीं होने का कारण बनता है।
  3. उपयोगकर्ता वेब यूआई या कमांड लाइन
संबंधित मुद्दे