2015-09-25 8 views
5

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

  1. बिल्ड mesos और दोनों mesos मास्टर और दास (एक ही मशीन में 2 दास) चलाते हैं।

    sudo ./bin/mesos-master.sh --ip=127.0.0.1 --work_dir=/var/lib/mesos 
    sudo ./bin/mesos-slave.sh --master=127.0.0.1:5050 --port=5051 --work_dir=/tmp/mesos1 
    sudo ./bin/mesos-slave.sh --master=127.0.0.1:5050 --port=5052 --work_dir=/tmp/mesos2 
    
  2. भागो चिंगारी mesos-डिस्पैचर

    sudo ./sbin/start-mesos-dispatcher.sh --master mesos://localhost:5050 
    
  3. मास्टर यूआरएल के रूप में डिस्पैचर के साथ एप्लिकेशन को जमा करें।

    spark-submit --master mesos://localhost:7077 <other-config> <jar file> 
    

लेकिन यह does not काम:

E0925 17:30:30.158846 807608320 socket.hpp:174] Shutdown failed on fd=61: Socket is not connected [57] 
    E0925 17:30:30.159545 807608320 socket.hpp:174] Shutdown failed on fd=62: Socket is not connected [57] 

अगर मैं --deploy मोड क्लस्टर चिंगारी के लिये भेज उपयोग करते हैं, तो मैं एक और त्रुटि संदेश मिला:

Exception in thread "main" org.apache.spark.deploy.rest.SubmitRestConnectionException: Unable to connect to server 

यह पूरी तरह से काम करें यदि मैं प्रेषक का उपयोग नहीं करता लेकिन मेसोस मास्टर यूआरएल का उपयोग सीधे करता हूं: --मास्टर मेसोस: // लोकलहोस्ट: 5050 (क्लाइंट मोड)। documentation के अनुसार, क्लस्टर मोड Mesos क्लस्टर के लिए समर्थित नहीं है, लेकिन वे क्लस्टर मोड here के लिए एक और निर्देश देते हैं। तो यह भ्रमित है? मेरा सवाल है:

  1. मैं इसे कैसे प्राप्त कर सकता हूं?
  2. क्या मैं क्लस्टर मोड के बजाय क्लाइंट मोड का उपयोग करूँगा यदि मैं सीधे मास्टर नोड से ऐप/जार जमा करता हूं?
  3. यदि मेरे पास एक कंप्यूटर है, तो क्या मुझे 1 या अधिक मेसोस दास प्रक्रियाओं को जन्म देना चाहिए। असल में, मेरे पास कई स्पार्क नौकरी हैं और संसाधनों के स्थैतिक विभाजन नहीं करना चाहते हैं। लेकिन स्थिर विभाजन के बिना मेसो का उपयोग करते समय, यह बहुत धीमा लगता है?

धन्यवाद।

उत्तर

1

मैं कोशिश करने के लिए अपने परिदृश्य का उपयोग करता हूं, यह काम हो सकता है। एक बात अलग है, मैं "लोकलहोस्ट" और "127.0.0.1" के बजाय आईपी एड्रेस का उपयोग करता हूं तो बस फिर से प्रयास करें और http://your_dispatcher:8081 (ब्राउज़र पर) को जांचने के लिए जांचें।

यह मेरा चिंगारी से प्रस्तुत आदेश है:

$spark-submit --deploy-mode cluster --master mesos://192.168.11.79:7077 --class "SimpleApp" SimpleAppV2.jar 

सफलता हैं, तो आप के रूप में नीचे

{ 
    "action" : "CreateSubmissionResponse", 
    "serverSparkVersion" : "1.5.0", 
    "submissionId" : "driver-20151006164749-0001", 
    "success" : true 
} 

जब मैं तुम्हारा के रूप में अपने त्रुटि लॉग मिला देखते हैं, मैं मशीन को रिबूट और पुन: प्रयास कर सकते हैं अपने कदम। यह भी काम करता है।

1

ऐसी दो चीजें हैं जो आप भ्रमित कर रहे हैं: क्लस्टर में स्पार्क एप्लिकेशन लॉन्च करना (स्थानीय रूप से विरोध करना) और क्लस्टर में ड्राइवर को लॉन्च करना।

Submitting Applications के शीर्ष से

:

स्पार्क के बिन निर्देशिका में चिंगारी के लिये भेज स्क्रिप्ट एक क्लस्टर पर अनुप्रयोग आरंभ करने के लिए किया जाता है। यह स्पार्क के समर्थित क्लस्टर प्रबंधकों को एक समान इंटरफ़ेस के माध्यम से उपयोग कर सकता है, इसलिए आपको प्रत्येक के लिए विशेष रूप से अपने एप्लिकेशन को कॉन्फ़िगर करने की आवश्यकता नहीं है।

तो, मेसोस समर्थित क्लस्टर प्रबंधकों में से एक है और इसलिए आप run Spark apps on a Mesos cluster कर सकते हैं।

लेखन के समय के रूप में मेसोस क्लस्टर में लॉन्च करने का समर्थन नहीं करता है, यह ./bin/spark-submit के कमांड लाइन तर्क --deploy-mode निर्दिष्ट करता है। चूंकि --deploy-mode का डिफ़ॉल्ट मान है client आप इसे छोड़ सकते हैं, या यदि आप स्पष्ट रूप से यह बताना चाहते हैं, तो का उपयोग करें:

./bin/spark-submit --deploy-mode client ... 
1

बजाय बाकी 6066 पोर्ट का उपयोग 7077. स्पार्क के नए संस्करण पसंद करते हैं की कोशिश करो नौकरियां जमा करने के लिए एपीआई।

https://issues.apache.org/jira/browse/SPARK-5388

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