क्यों Mongo STARTUP2 में फंस गया है?


13

मेरे पास कुछ Mongoसेकंड के साथ एक प्रतिकृति सेट है। एक बॉक्स, जो एक माध्यमिक उदाहरण होस्ट करता है, क्रैश हो गया और डेटाबेस खो गया।

मैंने द्वितीयक Mongoउदाहरण फिर से शुरू किया और अब यह 12 घंटे से अधिक समय के लिए STARTUP2 में अटका हुआ है। क्या इस का कोई मतलब निकलता है ? डॉक्स का कहना है कि MongoRECOVERING राज्य में प्रवेश करने से पहले थोड़े समय के लिए STARTUP2 में होना चाहिए

STARTUP2 का वास्तव में क्या मतलब है? क्या यह प्राथमिक से डेटाबेस की नकल कर रहा है? मैं इसे कैसे सत्यापित कर सकता हूं (मान लो कि लिनक्स में मोंगो चल रहा है)?

जवाबों:


12

Eoinbrazil का उत्तर आंशिक रूप से गलत है। एक नया नोड लंबे समय के लिए STARTUP2 में हो सकता है। लिंक पोस्ट कहता है:

प्रतिकृति सेट का प्रत्येक सदस्य जैसे ही उस सदस्य के कॉन्फ़िगरेशन को लोड करना समाप्त करता है, जैसे ही वह प्रतिकृति सेट का एक सक्रिय सदस्य बन जाता है, वैसे ही मंगलाचरण समाप्त हो जाता है। सदस्य तब निर्णय लेता है कि प्रारंभिक सिंक करना है या नहीं। यदि कोई सदस्य एक प्रारंभिक सिंक शुरू करता है, तो सदस्य STARTUP2 में रहता है जब तक कि सभी डेटा की प्रतिलिपि नहीं बनाई जाती है और सभी सूचकांक बनाए जाते हैं। बाद में, सदस्य संक्रमण को पुन: प्राप्त करने के लिए।

मैं एक 700 जीबी संग्रह का प्रबंध कर रहा हूं और, जब मैं एक नया नोड जोड़ता हूं तो STARTUP2 स्थिति 24 घंटे से अधिक रहती है। लेकिन आप अभी भी देख सकते हैं कि क्या कुछ हो रहा है, यह देखकर कि क्या डेटाबेस बढ़ता है। आप नए नोड के साथ डेटाबेस का आकार देख सकते हैं

show databases

या आप डेटा निर्देशिका का निरीक्षण कर सकते हैं, यह देखने के लिए कि क्या यह अभी भी बढ़ रहा है। (कमांड्स ls, df, du, iotop, आदि के साथ linux पर ...)


1
show databasesके साथ विफल रहता हैnot master and slaveOk=false
JDPeckham

लॉग देखकर आप प्रगति देख सकते हैं। उदाहरण के लिए यह कुछ इस तरह दिखाई देगा: [rsSync] इंडेक्स बिल्ड: 2538000/22982417 11%
डैनियल

4

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

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

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

ध्यान देने वाली बात यह है कि एक प्रारंभिक सिंक चल रहा है, नोड STARTUP2 में रहेगा, इसलिए डेटा के सिंक होने के आधार पर यह काफी मात्रा में हो सकता है (संभावित दिन)।


धन्यवाद। हमने डेटा हटा दिया और मानगो को पुनः आरंभ किया। यह अभी भी STARTUP2 में है। ऐसा लग रहा है कि मानगो काम कर रहा है। यह सीपीयू का उपभोग कर रहा है और जैसा कि मैं देख रहा हूं db.statsकि डेटाबेस बढ़ रहा है। लॉग कहता है कि कुछ ऑब्जेक्ट cloned। मैं अभी भी इस समस्या के संभावित कारणों की तलाश में हूं।
माइकल

1
यदि यह अभी भी एक समस्या है, तो आप बस दूसरे नोड से एक कॉपी करना चाह सकते हैं (इस प्रक्रिया को देखें - docs.mongodb.org/manual/tutorial/resync-replica-set-member/… )। यदि आप लॉग हाइलाइट्स और विवरण संलग्न कर सकते हैं कि आप किस संस्करण का उपयोग कर रहे हैं, तो यह एक कारण की ओर इशारा कर सकता है लेकिन समान रूप से यह असामान्य व्यवहार है। क्या आपने नेटवर्क विलंबता की तरह देखने के लिए नोड्स के बीच पिंगिंग की कोशिश की है?
Eoinbrazil

pingमेजबानों के बीच मोंगो 2.4.6 ठीक है।
माइकल

पिंग के समय की तरह क्या यह आंतरायिक नेटवर्किंग मुद्दे हो सकते हैं? इस मामले में, यह बहुत आसान है यदि आप लॉग आउटपुट में से कुछ जोड़ सकते हैं क्योंकि यह गैर-मानक व्यवहार है और लॉग्स सत्य के प्रमुख स्रोत हैं जब यह निर्धारित करने की कोशिश की जाती है कि वास्तव में क्या हो रहा है।
eoinbrazil

मुझे डर है कि मैं यहां लॉग्स नहीं दिखा सकता। हालाँकि मैंने देखा कि यह दूसरे माध्यमिक सदस्य से जुड़ने की कोशिश करता है, जो नीचे है। क्या यह समस्या का कारण हो सकता है?
माइकल

1

एक संभावित कारण यह है कि आपका माध्यमिक "बासी" हो जाता है जैसा कि यहाँ कहा गया है

जब आप किसी सदस्य का पुनरुत्थान कर रहे हों, तो सुनिश्चित करें कि RS भारी भार के अधीन नहीं है।


0

पर्याप्त डिस्क स्थान नहीं होने के कारण STARTUP2 स्थिति हो सकती है। खैर, चूंकि सिंक करने के लिए कोई जगह नहीं है, यह केवल @ STARTUP2 स्थिति रह सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.