2015-05-06 11 views
10

हाल ही में हमारे सर्वर को लोचदार खोज/किबाना को सही तरीके से बंद किए बिना रीबूट किया गया था। उस रीबूट के बाद, दोनों एप्लिकेशन चल रहे थे लेकिन अब कोई सूचकांक नहीं बनाया जा रहा था। मैंने डीबग मोड में लॉगस्टैश सेटअप की जांच की है और यह लोचदार खोज में डेटा भेज रहा है।SearchPhaseExecutionException [चरण [क्वेरी] निष्पादित करने में विफल, सभी shards विफल]

अब मेरे सभी बनाया खिड़कियों इस त्रुटि की रिपोर्ट:

Oops! SearchPhaseExecutionException[Failed to execute phase [query], all shards failed] 

मैं लचीला खोज/Kibana को पुन: प्रारंभ करने की कोशिश की है, और कुछ सूचकांकों को मंजूरी दे दी। मैंने बहुत कुछ खोजा लेकिन यह सही तरीके से समस्या निवारण करने में सक्षम नहीं था।

वर्तमान क्लस्टर स्वास्थ्य स्थिति तस्वीर में दिखाए गए अनुसार लाल है।

Elastic Search Cluster Health

समस्या निवारण करने के कि upvoted है के रूप में किसी भी मदद करते हैं। धन्यवाद

संपादित करें:

[2015-05-06 00:00:01,561][WARN ][cluster.action.shard  ] [Indech] [logstash-2015.03.16][1] sending failed shard for [logstash-2015.03.16][1], node[fdSgUPDbQB2B3NQqX7MdMQ], [P], s[INITIALIZING], indexUUID [aBcfbqnNR4-AGEdIR8dVdg], reason [Failed to start shard, message [IndexShardGatewayRecoveryException[[logstash-2015.03.16][1] failed to recover shard]; nested: ElasticsearchIllegalArgumentException[No version type match [101]]; ]] 
[2015-05-06 00:00:01,561][WARN ][cluster.action.shard  ] [Indech] [logstash-2015.03.16][1] received shard failed for [logstash-2015.03.16][1], node[fdSgUPDbQB2B3NQqX7MdMQ], [P], s[INITIALIZING], indexUUID [aBcfbqnNR4-AGEdIR8dVdg], reason [Failed to start shard, message [IndexShardGatewayRecoveryException[[logstash-2015.03.16][1] failed to recover shard]; nested: ElasticsearchIllegalArgumentException[No version type match [101]]; ]] 
[2015-05-06 00:00:02,591][WARN ][indices.cluster   ] [Indech] [logstash-2015.04.21][4] failed to start shard 
org.elasticsearch.index.gateway.IndexShardGatewayRecoveryException: [logstash-2015.04.21][4] failed to recover shard 
    at org.elasticsearch.index.gateway.local.LocalIndexShardGateway.recover(LocalIndexShardGateway.java:269) 
    at org.elasticsearch.index.gateway.IndexShardGatewayService$1.run(IndexShardGatewayService.java:132) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:744) 
Caused by: org.elasticsearch.ElasticsearchIllegalArgumentException: No version type match [52] 
    at org.elasticsearch.index.VersionType.fromValue(VersionType.java:307) 
    at org.elasticsearch.index.translog.Translog$Create.readFrom(Translog.java:364) 
    at org.elasticsearch.index.translog.TranslogStreams.readTranslogOperation(TranslogStreams.java:52) 
    at org.elasticsearch.index.gateway.local.LocalIndexShardGateway.recover(LocalIndexShardGateway.java:241) 

कि मुझे क्या logsis इस में चिंताओं:

[2015-05-06 15:13:48,059][DEBUG][action.search.type  ] All shards failed for phase: [query] 



{ 
    "cluster_name" : "elasticsearch", 
    "status" : "red", 
    "timed_out" : false, 
    "number_of_nodes" : 8, 
    "number_of_data_nodes" : 1, 
    "active_primary_shards" : 120, 
    "active_shards" : 120, 
    "relocating_shards" : 0, 
    "initializing_shards" : 0, 
    "unassigned_shards" : 310 
} 

उत्तर

11

आप कई भ्रष्ट translog फ़ाइलें, जो आप को नष्ट करने की जरूरत है। आप इसे data/{clustername}/nodes/0/indices/logstash-2015.04.21/4/translog में और data/{clustername}/nodes/0/indices/logstash-2015.03.16/1/translog में एक और पा सकते हैं। और शायद दूसरों, लेकिन यह है कि मैं आपके द्वारा प्रदान किए गए स्निपेट से बता सकता हूं। बेशक, अनुवाद फ़ाइलों में क्या है खो देंगे।

यदि सूचकांक में अब इंडेक्स फाइलें नहीं हैं (केवल _state फ़ोल्डर data/{clustername}/nodes/0/indices/[index_name] के अंतर्गत मौजूद है) इसका मतलब है कि उस अनुक्रमणिका में अब कोई डेटा नहीं है और इस बिंदु पर आप इंडेक्स को हटा सकते हैं। यदि आपको अभी भी इसकी आवश्यकता है, तो आपको उस डेटा को पुन: संशोधित करने की आवश्यकता है। यदि आप इंडेक्स को मिटाने का निर्णय लेते हैं, तो आपको नोड को बंद करना होगा और data/{clustername}/nodes/0/indices के तहत इंडेक्स फ़ोल्डर्स को हटाना होगा, जैसा कि आपने उल्लेख किया है (खाली, केवल _state फ़ोल्डर)।

+0

यदि आपको पता चल जाए तो मैक पर डेटा/{clustername} फ़ोल्डर पर कैसे जाएं? – HoKy22

+0

मेरे मामले में, मेरी डिस्क 100% पर कब्जा कर लिया गया था। मैंने वॉल्यूम बढ़ाया और इंस्टेंस को रिबूट किया। इसने काम कर दिया! – shivg

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