2016-12-14 5 views
5

हमारे पास स्पार्क एप्लिकेशन है जो लगातार आने वाली नौकरियों को संसाधित करता है। कई धागे पर समानांतर में कई नौकरियां संसाधित की जाती हैं।स्पार्क नौकरी और चरणों को कभी खत्म नहीं करता है, जॉब प्रोग्रेसलिस्टर क्रैश

16/12/14 21:04:03 WARN JobProgressListener: Task end for unknown stage 147379 
16/12/14 21:04:03 WARN JobProgressListener: Job completed for unknown job 64610 
16/12/14 21:04:04 WARN JobProgressListener: Task start for unknown stage 147405 
16/12/14 21:04:04 WARN JobProgressListener: Task end for unknown stage 147406 
16/12/14 21:04:04 WARN JobProgressListener: Job completed for unknown job 64622 

कि से प्रारंभ करते हुए, एप्लिकेशन आकस्मिक रूप से घटने के प्रदर्शन, चरणों और नौकरियां के सबसे कभी नहीं खत्म:

गहन वर्कलोड के दौरान, कुछ बिंदु पर, हम चेतावनी के इस प्रकार के लिए शुरू करते हैं। स्पार्कूआई पर, मैं 13000 लंबित/सक्रिय नौकरियों जैसे आंकड़े देख सकता हूं।

मैं अधिक जानकारी के साथ स्पष्ट रूप से एक और अपवाद नहीं देख सकता।

16/12/14 21:03:54 ERROR LiveListenerBus: Dropping SparkListenerEvent because no remaining room in event queue. This likely means one of the SparkListeners is too slow and cannot keep up with the rate at which tasks are being started by the scheduler. 
16/12/14 21:03:54 WARN LiveListenerBus: Dropped 1 SparkListenerEvents since Thu Jan 01 01:00:00 CET 1970 

यह एक बहुत कष्टप्रद समस्या है, क्योंकि यह एक स्पष्ट दुर्घटना नहीं है, या स्पष्ट त्रुटि संदेश हम एप्लिकेशन को पुन: लॉन्च करने के लिए पकड़ सकते थे: शायद यह एक है, लेकिन यह एक और श्रोता से संबंधित है।

अद्यतन:

  • समस्या स्पार्क 2.0.2 के साथ होता है और स्पार्क 2.1.1
  • अधिकांश शायद SPARK-18838

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

+0

क्या आपको कारण मिला? –

उत्तर

2

मैं एक वैकल्पिक हल मिल गया है हो सकता है: spark.scheduler.listenerbus.eventqueue.size की

बदलने मूल्य (डिफ़ॉल्ट 10000 के बजाय 100000) मदद करने के लिए लगता है, लेकिन यह केवल समस्या को स्थगित कर सकते हैं।

+0

यहां स्पार्क 1.4.1। इस सेटिंग को बढ़ाने से इस त्रुटि की शुरुआत में देरी हो रही है। :) – dannyman

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