8

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

2015.08.03 10:58:56 INFO es[o.elasticsearch.node] [sonar-1438592314778] started 
2015.08.03 10:59:03 INFO es[o.e.gateway] [sonar-1438592314778] recovered [6] indices into cluster_state 
2015.08.03 11:00:44 WARN es[o.e.indices.cluster] [sonar-1438592314778] [sourcelines][0] failed to start shard 
org.elasticsearch.index.gateway.IndexShardGatewayRecoveryException: [sourcelines][0] failed to recover shard 
at  org.elasticsearch.index.gateway.local.LocalIndexShardGateway.recover(LocalIndexShardGateway.java:287) ~[elasticsearch-1.4.4.jar:na] 
at org.elasticsearch.index.gateway.IndexShardGatewayService$1.run(IndexShardGatewayService.java:132) ~[elasticsearch-1.4.4.jar:na] 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:114 2) [na:1.8.0_40] 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_40] 
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40] 
Caused by: org.elasticsearch.index.translog.TranslogCorruptedException: translog corruption while reading from stream 
at org.elasticsearch.index.translog.ChecksummedTranslogStream.read(ChecksummedTranslogStream.java:70) ~[elasticsearch-1.4.4.jar:na] 
at org.elasticsearch.index.gateway.local.LocalIndexShardGateway.recover(LocalIndexShardGateway.java:257) ~[elasticsearch-1.4.4.jar:na] 
... 4 common frames omitted 
Caused by: org.elasticsearch.ElasticsearchException: failed to read [sourceline][22c2d1d1-8e73-47c0-b9fa-f8f5cc96b93f_796] 
at org.elasticsearch.index.translog.Translog$Index.readFrom(Translog.java:520) ~[elasticsearch-1.4.4.jar:na] 
at org.elasticsearch.index.translog.ChecksummedTranslogStream.read(ChecksummedTranslogStream.java:68) ~[elasticsearch-1.4.4.jar:na] 
... 5 common frames omitted 
Caused by: org.elasticsearch.ElasticsearchIllegalArgumentException: No version type match [105] 
at org.elasticsearch.index.VersionType.fromValue(VersionType.java:307) ~[elasticsearch-1.4.4.jar:na] 
at org.elasticsearch.index.translog.Translog$Index.readFrom(Translog.java:517) ~[elasticsearch-1.4.4.jar:na] 
... 6 common frames omitted 
2015.08.03 11:00:44 WARN es[o.e.c.action.shard] [sonar-1438592314778] [sourcelines][0] sending failed shard for [sourcelines][0], node[5eRgYcVUTNCNLjhhzdiHGA], [P], s[INITIALIZING], indexUUID [JaH5lnRnRVOFD95Nw28W5Q], reason [Failed to start shard, message [IndexShardGatewayRecoveryException[[sourcelines][0] failed to recover shard]; nested: TranslogCorruptedException[translog corruption while reading from stream]; nested: ElasticsearchException[failed to read [sourceline][22c2d1d1-8e73-47c0-b9fa-f8f5cc96b93f_796]]; nested: ElasticsearchIllegalArgumentException[No version type match [105]]; ]] 
2015.08.03 11:00:44 WARN es[o.e.c.action.shard] [sonar-1438592314778] [sourcelines][0] received shard failed for [sourcelines][0], node[5eRgYcVUTNCNLjhhzdiHGA], [P], s[INITIALIZING], indexUUID [JaH5lnRnRVOFD95Nw28W5Q], reason [Failed to start shard, message [IndexShardGatewayRecoveryException[[sourcelines][0] failed to recover shard]; nested: TranslogCorruptedException[translog corruption while reading from stream]; nested: ElasticsearchException[failed to read [sourceline][22c2d1d1-8e73-47c0-b9fa-f8f5cc96b93f_796]]; nested: ElasticsearchIllegalArgumentException[No version type match [105]]; ]] 

मैं टुकड़े को हटाने के लिए है? अगर हाँ यह कैसे करें? शार्ड को कैसे ठीक किया जाए? गलत अनुक्रमणित कर रहा है? मुझे अपनी मशीन पर [sourcelines] कहां मिलती है? इस के साथ मेरी मदद करें।

अग्रिम धन्यवाद।

उत्तर

15

आपकी ईएस इंडेक्स दूषित प्रतीत होती है।

सभी मूल जानकारी डीबी में संग्रहीत है। इसे मैन्युअल रूप से हटाएं या अपडेट न करें।

इसके विपरीत, यदि आप ईएस इंडेक्स को हटाते हैं, तो उन्हें तुरंत अगले स्टार्टअप पर पुनर्निर्मित किया जाएगा (जो आपके पास मौजूद डेटा की मात्रा के आधार पर कुछ समय ले सकता है)।

इसे प्राप्त करने के लिए, es निर्देशिका को data निर्देशिका में अपने एसक्यू उदाहरण की निर्देशिका हटाएं।

+0

नोट: सोनारक्यूब 6.6 और बाद में, निर्देशिका को 'es5' नाम दिया गया है और अब 'es' नहीं है –

1

यू डेटाबेस का उपयोग कर रहे हैं, तो सोनार विश्लेषण के परिणाम स्टोर करने के लिए है, तो एक बार डेटाबेस साफ और फिर सोनार फिर से शुरू है, क्योंकि यह कभी कभी database.It में संग्रहीत यह अपने फ़ाइलों का अनुक्रमण नहीं कर रही पुराने और नए परिणामों के साथ गंदगी ।

3

हमें कई बार इस मुद्दे का सामना करना पड़ा है। हम एसक्यू इंस्टेंस के $ SONAR_HOME/डेटा निर्देशिका के तहत es निर्देशिका को हटाते हैं और एसक्यू इंस्टेंस को पुनरारंभ करते हैं। यह सूचकांक फिर से शुरू होता है नोट: इंडेक्सिंग के दौरान आपको केवल समस्या का सामना करना पड़ेगा, आपका एसक्यू वेबसर्वर पहुंच योग्य नहीं होगा। आप अपना लोकहोस्ट ब्राउज़ नहीं कर सकते: 9 000 (जब तक इंडेक्सिंग खत्म नहीं हो जाती तब तक यह लोडिंग जारी रहेगी)। चूंकि हमारी परियोजना बड़ी है, इंडेक्सिंग को पूरा करने में कुछ घंटे लगते हैं। एक बार पूर्ण अनुक्रमण होने के बाद, आप अपने एसक्यू वेबसर्वर को ब्राउज़ कर सकते हैं।

1

translog फ़ोल्डर के अंदर .recovery फ़ाइल हटाएँ

उदाहरण के लिए: /es/elasticsearch-1.7.1/data/ [elasticsearch_clustername]/नोड्स/0/सूचकांक/[indexname]/2/translog/

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