2013-11-25 6 views
5

मैं बड़ी डेटा फ़ाइल को संसाधित करने के लिए अपाचे स्पार्क 0.8.0 का उपयोग कर रहा हूं और RDD पर कुछ बुनियादी .map और .reduceByKey संचालन कर रहा हूं।अपाचे स्पार्क: स्थानीय [के] मास्टर यूआरएल - नौकरी फंसे

के बाद से मैं कई प्रोसेसर के साथ एक मशीन का उपयोग कर रहा है, मैं मास्टर URL फ़ील्ड में local[8] उल्लेख करते हुए SparkContext

val sc = new SparkContext("local[8]", "Tower-Aggs", SPARK_HOME) 

बनाने लेकिन जब भी मैं कई प्रोसेसर का उल्लेख है, काम अटक जाती है (रुक जाता है/रुकती है) बेतरतीब ढंग से । कोई निश्चित स्थान नहीं है जहां यह अटक जाता है, यह सिर्फ यादृच्छिक है। कभी-कभी ऐसा नहीं होगा। मुझे यकीन नहीं है कि यह उसके बाद जारी रहता है लेकिन यह लंबे समय तक अटक गया है जिसके बाद मैं नौकरी छोड़ देता हूं।

लेकिन जब मैं local[8] के स्थान पर local का उपयोग करता हूं, तो नौकरी कभी भी अटकने के बिना निर्बाध रूप से चलती है।

val sc = new SparkContext("local", "Tower-Aggs", SPARK_HOME) 

मैं समझने के लिए जहां समस्या है नहीं पा रहा हूँ।

मैं Scala 2.9.3 और sbt उपयोग कर रहा हूँ का निर्माण और आवेदन

+0

मैं स्पार्क 1.4.1 के साथ समान समस्या दिखाई दे रहा हूँ। @ विजाय क्या आप इस के आसपास हो गए? –

+0

मुझे आपकी मशीनों पर लॉजिकल कोर की संख्या की तुलना में अधिक प्रक्रियाओं (के) को असाइन करने में अक्सर यह समस्या होती है। एक छोटी संख्या देने की कोशिश कर रहा है। @YohanLiyanage – Vijay

+0

धन्यवाद @ विजय। मैं उसमें देख लूंगा। –

उत्तर

1

मैं चिंगारी 1.0.0 का उपयोग कर रहा है और एक ही समस्या से मुलाकात को चलाने के लिए: एक समारोह एक परिवर्तन या कार्रवाई प्रतीक्षा/पाश को अनिश्चित काल के लिए पारित किया है, तो चिंगारी इसे जगाएंगे या डिफ़ॉल्ट रूप से इसे समाप्त/पुनः प्रयास नहीं करेंगे, इस मामले में आप कार्य को मार सकते हैं।

हालांकि, हालिया फीचर (सट्टा कार्य) स्पार्क को दोहराए गए कार्यों को शुरू करने की अनुमति देता है यदि कुछ कार्य अपने साथियों के औसत चलने वाले समय से काफी अधिक समय लेते हैं। यह सक्षम किया जा सकता है और कॉन्फ़िगर निम्नलिखित config गुण में:

  • spark.speculation झूठे हैं स्थापित करने के लिए "सही", कार्यों में से सट्टा निष्पादन करता है। इसका मतलब है कि यदि एक चरण में एक या अधिक कार्य धीरे-धीरे चल रहे हैं, तो उन्हें फिर से लॉन्च किया जाएगा।

  • spark.speculation.interval 100 स्पार्क मिलसेकंड में अनुमान लगाने के लिए कितनी बार कार्यों की जांच करेगा।

  • spark.speculation.quantile 0.75 किसी विशेष चरण के लिए अटकलों को सक्षम करने से पहले कार्यों का प्रतिशत पूरा होना चाहिए।

  • spark.speculation.multiplier 1.5 अटकलों के लिए औसत पर विचार करने के लिए कितनी बार धीमा कार्य होता है।

(स्रोत: http://spark.apache.org/docs/latest/configuration.html)

+0

मैं किसी भी कार्य को पूरा करने से पहले अपने 'lowByKey' लटक रहा हूं (1.0.0) तो मेरे लिए spec' exec 'काम नहीं करेगा। – samthebest

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