2014-09-19 11 views
6

मेरे पास एक छोटा क्लस्टर है जो लगभग खाली है। आम तौर पर nodetool removenode 10 सेकंड के क्रम में पूरा हो जाता है। हालांकि, वर्तमान में मेरे पास प्रक्रिया में नोड हटाने है जो 10 मिनट ले रहा है और कोई प्रगति नहीं कर रहा है। नोड को हटाने के लिए एक अतिरिक्त अनुरोध अस्वीकार कर दिया गया है क्योंकि पहले ही प्रगति में एक निकासी है। मैं इसका निवारण कैसे कर सकता हूं?हटाने के दौरान अटक गया nodetool removenode

Status=Up/Down 
|/ State=Normal/Leaving/Joining/Moving 
-- Address   Load  Tokens Owns Host ID        Rack 
DL 192.168.12.207 152.14 KB 256  32.2% 683d8351-c625-4d7f-99cc-61f6b73b0c56 rack1 
UN 192.168.12.205 215.21 KB 256  37.2% b66d5fff-ef1d-4fbf-a49a-43709df99a0c rack1 
UN 192.168.12.208 148.09 KB 256  30.6% 39b54771-59b8-49f7-8db8-9cf4523d6c8d rack1 

इसके अलावा, कैसेंड्रा मेजबान 207 (छोड़ने मेजबान) पर नहीं चल रहा है, लेकिन अन्य दो मेजबानों पर चल रहा है: संदर्भ के लिए, nodetool status के उत्पादन होता है।

संपादित करें: ऐसा लगता है कम से कम एक टोकन है कि का इंतजार कर प्रतिकृति अटक है:

$ nodetool removenode status 
RemovalStatus: Removing token (-9037887679483580088). Waiting for replication confirmation from [/192.168.12.205]. 
+0

क्या आपने पहले नोडेटूल मरम्मत की थी? –

+0

नहीं, क्या यह वैकल्पिक नहीं है? इस मुद्दे में भाग दिए बिना नोडेटूल मरम्मत नहीं चलने के बावजूद इसने मेरे लिए कई बार काम किया है। यह स्पोरैडिक विफलता का कारण क्यों होगा? – jonderry

+0

बीटीडब्ल्यू, ये [निर्देश] (http://www.datastax.com/documentation/cassandra/2.0/cassandra/operations/ops_remove_node_t.html), जो 'मरम्मत' के बाद 'decommission' चलाने का सुझाव देता है, उसके बाद 'removenode' , गलत लगता है। 'Nodetool decommission' चलाना स्वयं को 'removenode' moot छोड़कर, नोड को हटाने के लिए प्रतीत होता है। मैंने कदमों के एक अलग अनुक्रम का उपयोग करने का विकल्प चुना था जिसमें केवल 'रीमॉवनोड' चलाना शामिल था, जिसके लिए मशीन पर पहले कैसंड्रा को नीचे लाने की भी आवश्यकता होती है। – jonderry

उत्तर

0

आप शायद एक ज्ञात बग का सामना कर रहे, CASSANDRA-6542

7

पता नहीं है कैसेंड्रा का कौन सा संस्करण है समस्या के साथ एक। लेकिन, अगर nodetool removenode काम नहीं कर रहा, Apache Cassandra Wiki के अनुसार, आप निम्न प्रयास करना चाहिए:

Removenode

एक नोड कि यह नहीं है कि शारीरिक रूप से मौजूद हैं अब और दो चरणों में किया जाता है हटाना:

bin/nodetool removenode <UUID> 

    bin/nodetool removenode force 

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

"बिन/नोडेटूल स्थिति" कमांड आपके नोड्स के यूयूआईडी को दिखाता है।

उम्मीद है कि यह मदद करता है।

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