2013-12-10 5 views
5

सोलरक्लाउड, ज़ूकीपर एकीकरण के लिए धन्यवाद, managing और reloading कोर/संग्रह कॉन्फ़िगरेशन के लिए कुछ अच्छी सुविधाएं हैं।सोलरक्लाउड और अपडेट जो इंडेक्स पुनर्निर्माण और/या संशोधित कोड

हालांकि, यह केवल मामूली अपडेट के मामले को पूरी तरह से कवर करता है - लेकिन nontrivial अपडेट भी हैं। इस मामले में नॉनट्रिविअल का अर्थ है जिसके परिणामस्वरूप कुछ परिवर्तन हुए हैं जो एक अद्यतन नोड और/या इसके कोर कुछ पिछले राज्य के साथ असंगत बनाते हैं।

विशेष रूप से, इन subcases दिमाग में आते हैं:

  1. एक कोड अद्यतन एक अंतर्निहित Solr उदाहरण के पुन: प्रारंभ करने की जरूरत महसूस।
  2. एक स्कीमा परिवर्तन जिसके लिए कोर के पूर्ण पुनर्निर्माण की आवश्यकता होती है।

मेरा प्रश्न है: कैसे SolrCloud और संबद्ध Zookeeper सेवाओं उच्च उपलब्धता को सुनिश्चित ऐसे अपडेट, आसान और अधिक विश्वसनीय बनाने के लिए इस्तेमाल किया जा सकता, और/या?

नोट: मैं कुछ एपीआई/कार्यक्षमता की उम्मीद कर रहा था जो ऐसे अद्यतनों को "समझता" है। अब तक की सबसे उल्लेखनीय चीज़ कोरएडमिन में संग्रह अलियासिंग है, जो "पुराने" और "नए" संस्करणों के बीच एक आसान संक्रमण की अनुमति देगी - उपरोक्त उम्मीदों को देखते हुए थोड़ा निराशाजनक।

उत्तर

-1

मुझे यकीन है कि आपको लगता है कि Solr कोड बदल द्वारा

A code update necessitating a restart of an underlying Solr instance. 

तुम्हारा मतलब क्या इसका मतलब यह नहीं कर रहा हूँ? (उदाहरण के लिए एक नया संस्करण) या यह कि सौर उदाहरण का उपयोग करने वाला एप्लिकेशन बदल गया है? (उदाहरण के लिए। आपका कोडबेस)

पहले परिदृश्य में, बस एक नया उदाहरण ला रहा है, और इसे ज़ूकीपर में जोड़ना, भले ही संस्करण अलग हो, तो इसका अंत होना चाहिए।

दूसरे मामले में, यह वास्तव में कोई फर्क नहीं पड़ता कि डेटा तक पहुंचने वाले एप्लिकेशन के साथ क्या होता है, है ना?

तो फिर तुम उल्लेख क्या मेरा मानना ​​है कि सबसे "आम" परिदृश्य

स्कीमा परिवर्तन यह है कि एक कोर की एक पूरी पुनर्निर्माण की आवश्यकता है।

आप स्कीमा बदलते रहे हैं, और यह संकेत मिलता है आप अपने अनुक्रमित, अपने खेतों और/या मेटा डेटा के कुछ बदल रहे हैं, क्या तुम सच में Solr इस परिवर्तन के नास्तिक हो सकता है और चालू रखने के लिए उम्मीद नहीं कर सकते, और परिणाम लौट रहे हैं, क्योंकि उनके हैंश अब एक ही संरचना से मेल नहीं खाते हैं।

मुझे लगता है कि यहां सबसे अच्छा तरीका परिवर्तन की गहराई की पहचान करने की कोशिश करना होगा, या फिर अद्यतन की गई एक नई अनुक्रमणिका में फिर से लोड करना होगा, और फिर अपने आवेदन में आवश्यक कोड परिवर्तन करें, इसलिए यह इन नए प्रश्नों से पूछेगा संरचनाएं, या यदि डाउनटाइम विंडो की अनुमति है, तो पूरी चीज को हटाएं और पुनर्निर्माण करें (इस तरह के हमलों को "उच्च उपलब्धता सुनिश्चित करने" की आवश्यकता है)

मुझे लगता है कि यह एक डीबी तालिका में गर्म अपडेट के समान होगा एसक्यूएल और पुराने और नए ढांचे दोनों का उपयोग करके एप्लिकेशन के दो संस्करण होने के साथ, यह अत्यधिक देखभाल के प्रकार के साथ किया जा सकता है, और यदि आप कर सकते हैं तो आप उन्हें अलग करके अलग कर देंगे ...

यह सुनिश्चित नहीं करता कि यह मदद करता है, चीयर्स,

माइक।

+0

* पुनः कोड अपडेट: * 1. मेरा मतलब है कि सौर उदाहरण के भीतर कस्टम सेवा-विशिष्ट कोड में परिवर्तन, लेकिन एक संस्करण अद्यतन एक मान्य सबकेस है। 2. "चाहिए"? क्या आप इसे ** तथ्य ** के लिए जानते हैं, या यह आपका अनुमान है? * पुनर्निर्माण मामले: * मैं आपकी इच्छा मदद की सराहना करता हूं, लेकिन आपको एहसास है ** मैंने अंतिम पैराग्राफ में पहले से ही अपने प्रश्न में "मैनुअल" समाधान शामिल किया है? यह प्रश्न इन समस्याओं के सामान्य समाधानों के बारे में नहीं है, लेकिन ** क्या सोलरक्लाउड/जुकीपर के पास अतिरिक्त सुविधाएं हैं जो उन्हें हल करने में मदद करती हैं, और यदि ऐसा है, तो कैसे। ** मुझे खेद है, लेकिन जैसा कि यह खड़ा है, मुझे आपको नीचे हटाना होगा जवाब। –

+0

सुनने के लिए खेद है कि मैं सहायक नहीं था ... फिर भी ऐसा नहीं लगता कि इसे डाउनवोट के लिए बुलाया जाता है, क्योंकि यह तब तक उपयोगी हो सकता है जब तक कि कोई आपको पूछने के लिए एक विशिष्ट तरीका नहीं ढूंढता :( आपका प्रश्न, जैसा कि यह खड़ा है, कोर इंडेक्स को एक गैर-तुच्छ अद्यतन को "समझने" के लिए सोलर/जेडके के लिए पूछता है, मुझे डर है कि यह नहीं कर सकता है। उसी जेडके पर चलने वाले सोलर के एक नए संस्करण के बारे में, हाँ मुझे पता है कि ** तथ्य **। आपका "मैनुअल" समाधान उतना ही अच्छा है जितना कि यह तब तक हो जाता है जब तक कि आप इसे रोकने के लिए कुछ कोड करने के इच्छुक नहीं हैं (कोडवर्सन फ़ील्ड जोड़ना और उस के लिए पूछताछ करना) – migueldiab

+0

नहीं, यह नहीं हुआ * कॉल * एक डाउनवोट के लिए, क्योंकि वे दंड या दमन नहीं हैं; और एक पूछताछ के रूप में, मेरा मानना ​​है कि मुझे कुछ * राय * का अधिकार है कि क्या उत्तर उपयोगी है या नहीं (विशेष रूप से जब चल रहा था उस समय बक्षीस);)। अंत में, यदि आपका उत्तर तथ्यों से लिया गया है, तो कृपया इसे समझाने/संदर्भित करने के लिए इसे संपादित करें। –

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