2013-01-02 17 views

उत्तर

49

किसी नोड को पुनरारंभ करने का सही तरीका shutdown API या TERM प्रक्रिया को सिग्नल भेजने के लिए इसे बंद करना है (उदाहरण के लिए kill $PID)।

एक बार बंद हो जाने पर, आप लोचदार खोज, उदाहरण के लिए सेवा रैपर, या बस इसे कमांड लाइन से शुरू करने के लिए उपयोग करते हुए एक नया नोड शुरू कर सकते हैं।

यदि आप सेवा रैपर का उपयोग कर रहे हैं, तो आप इसे restart आदेश पास करके एक नोड को पुनरारंभ कर सकते हैं: उदाहरण के लिए /etc/init.d/elasticsearch restart लेकिन यह उपर्युक्त के लिए केवल एक सुविधाजनक आवरण है।

restart एपीआई संस्करण 0.11 के बाद से अक्षम कर दिया गया है क्योंकि यह समस्याग्रस्त था।

+3

सामान्य लिनक्स सेवा का उपयोग करके पुनरारंभ करना एक परिणाम फिर से आवंटन प्रक्रिया में टूल परिणाम पुनरारंभ करें (जिसे मैं elasticsearch-head प्लगइन का उपयोग करके देखता हूं)। मेरे पर्यावरण में, मुझे लगता है कि पुनरारंभ किए गए नोड को आवंटित सभी शर्ड्स संयुक्त राष्ट्र में जाते हैं और धीरे-धीरे फिर से असाइन किए जाते हैं। क्या सेवा को पुनरारंभ करने का कोई क्लीनर तरीका है कि पूर्ण शार्ड रीयलोकेशन प्रक्रिया के हिट को कम किया जा सकता है? –

7

shutdown API के अनुरूप एक पुनरारंभ API है। "पुनः आरंभ करें" के साथ बस "शटडाउन" को प्रतिस्थापित करें। issue on github भी देखें।

+1

मैंने अभी आपका जवाब पढ़ा है और मैंने सोचा - बहुत बुरा यह कहीं भी दस्तावेज नहीं है .. फिर मैंने लिंक खोला और मैंने देखा कि आपने इसे अभी लिखा है :) धन्यवाद! –

+2

@tzofia क्या आप _restart API के साथ सफल हुए? क्या आप सर्विस ईएस से अपना ईएस इंस्टेंस चलाते हैं? मैं पूछ रहा हूं कि विंडोज़ के तहत, मुझे निम्न त्रुटि मिली: 'लोचदार खोज IleglegalStateException [पुनरारंभ करना अक्षम है (अभी के लिए) ....] ' – dadoonet

+1

@dadoonet वास्तव में मैंने देखा कि यह शै बैनन द्वारा लिखा गया था इसलिए मैंने इस पर भरोसा किया और किया अभी तक यह जांच नहीं है। मैंने अभी इसे चेक किया है और मुझे वही त्रुटि मिलती है जैसे आप (उबंटू पर) .... कोई सुझाव ?? –

4

हर बार जब एक नोड नीचे चला जाता है और/या और नए नोड इसलिए आप रोलिंग पुनः आरंभ करने का उपयोग कर सकते ऊपर आता है, क्लस्टर के टुकड़े, जो वांछित नहीं किया जा सकता है जब आप केवल एक नोड फिर से शुरू करनी redistributes,:

  1. पहले अक्षम ठीकरा आवंटन:

    PUT/_cluster/सेटिंग्स { "क्षणिक": { "cluster.routing.allocation.enable": "कोई नहीं" } }

  2. नोड को पुनः आरंभ service elasticsearch restart

  3. ठीकरा आवंटन सक्षम करें:

    PUT/_cluster/सेटिंग्स { "क्षणिक": { "cluster.routing.allocation.enable": "सभी" } }

अधिक इस पर: Here