मैंने Cluster Mode Overview पढ़ा है और मैं अभी भी स्पार्क स्टैंडअलोन क्लस्टर और समांतरता में विभिन्न प्रक्रियाओं को समझ नहीं सकता।स्पार्क स्टैंडअलोन क्लस्टर में श्रमिक, निष्पादक, कोर क्या हैं?
क्या कर्मचारी एक JVM प्रक्रिया है या नहीं? मैंने bin\start-slave.sh
चलाया और पाया कि यह कार्यकर्ता उत्पन्न हुआ, जो वास्तव में एक जेवीएम है।
उपर्युक्त लिंक के अनुसार, एक निष्पादक एक कार्यकर्ता नोड पर किसी एप्लिकेशन के लिए लॉन्च की गई प्रक्रिया है जो कार्य चलाता है। निष्पादक भी एक जेवीएम है।
ये मेरी सवाल कर रहे हैं:
निष्पादकों आवेदन प्रति कर रहे हैं। फिर एक कार्यकर्ता की भूमिका क्या है? क्या यह निष्पादक के साथ समन्वय करता है और परिणाम को ड्राइवर को वापस संवाद करता है? या ड्राइवर सीधे निष्पादक से बात करता है? यदि हां, तो कर्मचारी का उद्देश्य क्या है?
किसी एप्लिकेशन के लिए अधिकारियों की संख्या को कैसे नियंत्रित करें? 3. क्या कार्यकर्ता निष्पादक के अंदर समानांतर में चलाने के लिए किए जा सकते हैं? यदि हां, तो निष्पादक के लिए धागे की संख्या को कैसे कॉन्फ़िगर करें?
कार्यकर्ता, निष्पादक और निष्पादक कोर (- कुल-निष्पादक-कोर) के बीच संबंध क्या है?
प्रति नोड अधिक श्रमिकों का क्या मतलब है?
अपडेट किया गया
चलो उदाहरण लेते बेहतर समझने के लिए।
उदाहरण 1: 5 कार्यकर्ता नोड्स के साथ एक स्टैंडअलोन क्लस्टर (प्रत्येक नोड 8 कोर वाले) जब मैं डिफ़ॉल्ट सेटिंग्स के साथ एक आवेदन शुरू करते हैं।
उदाहरण 2 उदाहरण 1 के रूप में एक ही क्लस्टर config, लेकिन मैं निम्नलिखित सेटिंग्स के साथ एक आवेदन को चलाने --executor-कोर 10 --total-निष्पादक-कोर 10
उदाहरण 3 --executor-कोर 10 --total-निष्पादक-कोर एक ही क्लस्टर config उदाहरण 1 के रूप में, लेकिन मैं निम्नलिखित सेटिंग्स के साथ एक आवेदन को चलाने 50.
ई XAMPLE 4 उदाहरण 1 के रूप में एक ही क्लस्टर config, लेकिन मैं निम्नलिखित सेटिंग्स के साथ एक आवेदन को चलाने --executor-कोर 50 --total-निष्पादक-कोर 50.
उदाहरण 5 एक ही क्लस्टर config के रूप में उदाहरण 1, लेकिन मैं निम्नलिखित सेटिंग्स के साथ एक आवेदन को चलाने --executor-कोर 50 --total-निष्पादक-कोर 10
इन उदाहरणों में से प्रत्येक में, कितने निष्पादकों?प्रति निष्पादक कितने धागे? कितने कोर? अधिकारियों की संख्या प्रति आवेदन का निर्धारण कैसे किया जाता है। क्या यह हमेशा श्रमिकों की संख्या के समान है?
धन्यवाद @ मार्को। तो आम तौर पर, किसी को कार्यकर्ता पर ढेर स्मृति के बारे में चिंता नहीं करना चाहिए क्योंकि यह नोड संसाधनों का प्रबंधन करता है? – learninghuman
आपको spark.executor.memory के साथ काम करना चाहिए और यह सुनिश्चित करना चाहिए कि यह आपके स्पार्क श्रमिकों की स्मृति को फिट करे – Marco
क्या एक अच्छा जवाब है! धन्यवाद @ मार्को। Https://github.com/apache/spark/commit/16b6d18613e150c7038c613992d80a7828413e66 '--num-executors' के अनुसार यार्न में उपयोग नहीं किया जा रहा है। –