2011-06-18 11 views
7

मैंने पढ़ा है कि डेटा निर्देशिका की प्रतिलिपि काम करेगी। लेकिन, यह लॉग और स्नैपशॉट का संयोजन है। लोग एक ज़ूकीपर बुनियादी ढांचे का बैकअप कैसे लेते हैं? निर्यात करें? डंप? कस्टम लिपि? सर्वोत्तम प्रथाएं क्या हैं?आप ज्यूकीपर बैकअप कैसे करते हैं?

उत्तर

1

हम zkConfig.py स्क्रिप्ट को संशोधित कर रहे हैं जो एक योगदान परियोजना है जब आप ज़ूकीपर स्थापित करते हैं। यह आपको एक पाइथन लिपि के माध्यम से ज़ूकीपर से बातचीत करने देता है।

हम प्रत्येक रात पूरी सामग्री को आसानी से डंप करने और सहेजने के लिए स्क्रिप्ट को संशोधित कर रहे हैं और फिर फ़ाइलों का बैकअप लें। हालांकि मैं इसके साथ अन्य लोगों के समाधान सुनने के लिए उत्सुक होगा।

+1

करता zkConfig.py अभी भी मौजूद हैं? Googling उस पर कुछ भी आगे बढ़ने की बात नहीं लगती। –

12

जुकीपर एक स्नैपशॉट लिखता है जब यह निर्धारित करता है कि इसमें पर्याप्त लेनदेन हैं और हर नया स्नैपशॉट पूरी तरह से पुराने लोगों को पीछे छोड़ देता है। तो नवीनतम स्नैपशॉट + स्नैपशॉट के समय से लेनदेन लॉग वर्तमान स्थिति में पुनर्प्राप्त करने के लिए पर्याप्त है। गणना को आसान बनाने के लिए, आप पिछले 3 स्नैपशॉट्स (नवीनतम स्नैप के भ्रष्टाचार के मामले में) और जल्द से जल्द स्नैपशॉट से संबंधित टाइमस्टैम्प से लेनदेन लॉग का बैकअप ले सकते हैं। नीचे दिए गए लिंक में कुछ और विवरण हैं।

  1. http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_dataFileManagement
  2. http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
+0

संस्करण से शुरू' 3.4.0' आप 'autopurge.snapRetainCount' और' autopurge.purgeInterval' विन्यास निर्देशों का उपयोग कर सकते अपने स्नैपशॉट्स और लेन-देन लॉग को साफ रखने के लिए। अब आपको केवल एक क्रोनबॉब की आवश्यकता है जो डेटा निर्देशिका ('डेटाडियर') का बैकअप बनाता है। – czerasz

3

मैं सिर्फ एक ही आवश्यकता थी और पाया कि उपलब्ध विकल्पों में से सबसे या तो काम या अनुकूलन का एक बहुत आवश्यकता नहीं है।

मुझे मिला सबसे अच्छा विकल्प गुआनो था जो एक छोटा जावा ऐप है जो पेड़ में प्रत्येक नोड को घोषित नोड से दोबारा शुरू करता है और इसे एक मिलान निर्देशिका संरचना में डंप करता है, ताकि आप सादे फाइलों की निर्देशिका संरचना के साथ समाप्त हो जाएं यह वास्तविक पेड़ की तरह संरचित है।

आप इन पेड़ों को किसी भी बिंदु से किसी भी बिंदु से पुनर्स्थापित करने के लिए कहकर पुनर्स्थापित कर सकते हैं। मुझे लगता है कि बैकअप और अन्वेषण के लिए यह काफी अच्छा है। उदाहरण के लिए मैंने तुरंत एक एंट्री के साथ सभी फाइलों को खोजने के लिए जड़ से एक का इस्तेमाल किया जिसकी मुझे परवाह है।

इसे एक क्रॉन नौकरी के रूप में डालने और बस एक बैकअप को एक संग्रह में संपीड़ित करने के साथ-साथ किसी भी रोटेशन को संभालने के लिए एक ज़िप कदम जोड़ना आसान है।

  1. यह Github पर खड़ा मूल कारण कुछ आयात लापता करने के लिए संकलन नहीं करता है के रूप में:

    वहाँ उपकरण के लिए कुछ कमियां हैं। कई लोगों ने पीआर या फोर्क बनाये हैं जो इस समस्या को ठीक करते हैं जैसे https://github.com/feldoh/guano जो मेरा कांटा है जिसमें मैंने दस्तावेज़ों में भी सुधार किया है। मैंने अब जार को पहले से संकलित किया है और https://bintray.com/feldoh/Guano/guano में बाइनरी को दबाएगा।

  2. यह केवल डेटा को डंप करता है, जो अन्वेषण के लिए अच्छा है लेकिन मेटा-डेटा जैसे एमटीम या डेटा संस्करण खो देता है। माना जाता है कि एक बहाली शायद एक अद्यतन के रूप में गिनती होनी चाहिए, इसलिए मैं इसे वास्तव में एक बुरी बात नहीं कह सकता, लेकिन यह एक वास्तविक बिंदु-समय-समय पर पुनर्स्थापित नहीं है।

एनबी: मैंने अपना खुद का जुकीपर संपादक बनाया है क्योंकि मुझे उन लोगों में से एक को खोजने में समान समस्याएं थीं जो मेरी आवश्यकताओं को पूरा करती थीं और मिलती थीं। इस https://github.com/feldoh/JZookeeperEdit को पढ़ने पर निर्भर करते हुए एक निर्यात सुविधा भी हो सकती है। मुद्दे 13/14 इस योजनाबद्ध सुविधा को कवर करते हैं।

3

नेटफ्लिक्स ने exhibitor नामक समाधान प्रदान किया। यह है "उदाहरण के लिए निगरानी, ​​बैकअप/वसूली, सफाई और दृश्यता के लिए चिड़ियाघर सह-प्रक्रिया।"

+1

नेटफ्लिक्स प्रदर्शक ज़ूकीपर के लिए पर्यवेक्षक है और इसे बनाए रखने के लिए अच्छा है। लेकिन यह स्नैपशॉट्स को संभाल नहीं करता है बैकअप - केवल लेन-देन लॉग - ताकि आप केवल एक ही लेन-देन को एक-एक करके पुनर्स्थापित कर सकें, पूरे डेटा को एक साथ नहीं। ज़्यादा लगातार (अस्थायी) नोड्स के साथ जेके डेटा स्टोरेज के लिए उपयुक्त समाधान नहीं है। यहां देखें: https: // mail-archives.apache.org/mod_mbox/zookeeper-user/201307.mbox/%[email protected]%3E –