2016-09-19 10 views
6

के लिए एयरफ्लो सेटअप उच्च उपलब्धता में अपाचे एयरफ्लो (औपचारिक रूप से एयरबर्न के एयरफ्लो के रूप में जाना जाता है) शेड्यूलर को कैसे तैनात करें?उच्च availabilty

मैं बैकएंड डीबी या खरगोश एमक्यू के बारे में नहीं पूछ रहा हूं जिसे स्पष्ट रूप से उच्च उपलब्धता कॉन्फ़िगरेशन में तैनात किया जाना चाहिए।

मेरा मुख्य फोकस शेड्यूलर है - क्या कुछ विशेष आवश्यकताएं की जानी चाहिए?

उत्तर

7

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

एयरफ्लो टीम डीएजी डेटा संरचना पर लॉक तंत्र जोड़कर इस समस्या को हल करने की योजना बना रही है, लेकिन यह अभी तक लागू नहीं है (मैंने 2 शेड्यूलर चलाकर चेक किया है और देखा है कि वे एक ही डैग इंस्टेंस को शेड्यूल करते हैं जो अच्छा नहीं है)। यह यहाँ वर्णित है: https://groups.google.com/forum/#!topic/airbnb_airflow/-1wKa3OcwME

मैं नेता के चुनाव के लिए अपने खुद के कोड और उपयोग क्लस्टर उपकरणों के साथ शेड्यूलर लपेटकर द्वारा इस उच्च availalbilty मुद्दा वैकल्पिक हल के लिए एक रास्ता मिल गया था (मैं personanlly इस उद्देश्य के लिए वाणिज्य दूत का उपयोग करें)। इस तरह केवल निर्वाचित मास्टर शेड्यूलर चला रहे हैं और जब मास्टर नीचे है दास उसे बदल देता है।

कृपया इस पर विचार करें जब आप बॉक्स के बाहर से उच्च लाभकारी वातावरण में एयरफ्लो का उपयोग करते हैं, एयरफ्लो शेड्यूलर वर्तमान में इसके लिए उपयुक्त नहीं है (जब तक कि आप स्वयं को इस समस्या को हल नहीं करते)।

संपादित करें - मास्टर गुलाम समाधान के लिए एक वैकल्पिक दृष्टिकोण क्लस्टर मैनेजर/शेड्यूलर का उपयोग करना है ताकि यह सुनिश्चित किया जा सके कि केवल एक एयरफ्लो शेड्यूलर उदाहरण हमेशा उपलब्ध है। यह दृष्टिकोण आपके पास क्लस्टर प्रबंधक की स्वयं उपचार क्षमताओं पर निर्भर करता है। उदाहरण के लिए मेसो और नोमाड दोनों इस प्रकार की कॉन्फ़िगरेशन का समर्थन करते हैं (मैंने मुख्य रूप से अपनी सादगी के लिए नामांकित चुना है)। https://github.com/teamclairvoyant/airflow-scheduler-failover-controller मैं भी एक डेग जो एक निगरानी पिंग्स का उपयोग करें:

+0

मैं इसका शोध कर रहा हूं और Google के माध्यम से इस पर आया हूं। क्या आपने इस बारे में ब्लॉग किया था या कोई नमूना कोड जो वर्णन करता है कि नोमाड और कंसुल इस सब में कैसे खेलता है? हम कंसुल का उपयोग करते हैं लेकिन नोमाड अभी भी हमारे लिए नया है। मैं शेड्यूलर को एक अलग नोड पर आग लगाना चाहता हूं या उसी नोड को किसी कारण से नीचे जाना चाहिए। – luckytaxi

+0

मैंने इसके बारे में ब्लॉग नहीं किया था। यदि आप नामांकन सेट करते हैं तो इसे केवल एक सेवा के रूप में निर्दिष्ट करें और गिनती = 1 का उपयोग करें और सुनिश्चित करें कि बाधाएं कुछ नोड्स को पूरा करती हैं। यह चाल करना चाहिए। –

+0

यू कुबेरनेट या किसी अन्य ऑर्केस्ट्रेशन टूल का भी उपयोग कर सकते हैं। इसे स्वयं उपचार कहा जाता है। –

1

मेरा व्यक्तिगत अनुभव istruction मैं कुछ सबसे अच्छा pratices के अंदर पाए पालन करने के लिए है, यह है कि हर 10 रन (एन 10) को पुनः आरंभ अनुसूचक और इस सॉफ़्टवेयर का उपयोग जब संभव हो है यह सुनिश्चित करने के लिए सिस्टम कि शेड्यूलर नहीं चलेगा।

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