8

Ich arbeite an Sonarqube 5.1. Früher funktionierte es gut, später bekam ich keinen Platz mehr auf Gerätefehler. Also habe ich einige unerwünschte Dateien gelöscht und den Dienst neu gestartet. Jetzt kann ich sehen, dass der Service-Status läuft, aber ich kann nicht auf die Webseite zugreifen (da Sonar-Webservice nicht gestartet wird) Ich habe die Protokolle überprüft und ich finde den folgenden Fehler.Fehler beim Starten von Sonar 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]]; ]] 

Muss ich Shards löschen? Wenn ja, wie? Wie kann ich die Scherbe wiederherstellen? Indexierung falsch? Wo finde ich [sourelines] auf meinem Rechner? hilf mir dabei.

Vielen Dank im Voraus.

Antwort

15

Ihr ES-Index scheint beschädigt zu sein.

Alle Basisinformationen sind in der DB gespeichert. Löschen oder aktualisieren Sie es nicht manuell.

Wenn Sie im Gegensatz dazu die ES-Indizes löschen, werden sie beim nächsten Start einfach neu erstellt (was je nach Datenmenge einige Zeit dauern kann). Um das zu erreichen, löschen Sie das Verzeichnis es im Verzeichnis data Ihrer SQ-Instanz.

+0

Hinweis: Ab SonarQube 6.6 erhält das Verzeichnis den Namen "es5" und nicht mehr "es" –

1

Wenn Sie die Ergebnisse der Sonaranalyse mit der Datenbank speichern, löschen Sie die Datenbank einmal und starten Sie das Sonar erneut, da es manchmal mit alten und neuen Ergebnissen in der Datenbank verwechselt wird.Es wird nicht die Indizierung Ihrer Dateien durchgeführt .

3

Wir haben dieses Problem viele Male konfrontiert. Wir löschen das Verzeichnis es unter dem Verzeichnis $ SONAR_HOME/data der SQ-Instanz und starten die SQ-Instanz neu. Es beginnt die Indizierung erneut Hinweis: Nur Problem, auf das Sie während der Indizierung stoßen, ist Ihr SQ-Webserver nicht zugänglich. Sie können Ihren localhost: 9000 nicht durchsuchen (er wird geladen, wenn die Indizierung nicht beendet wird). Da unser Projekt sehr umfangreich ist, dauert es einige Stunden, bis die Indexierung abgeschlossen ist. Sobald die vollständige Indexierung abgeschlossen ist, können Sie Ihren SQ-Webserver durchsuchen.

1

löschen .recovery Datei im Ordner translog

ZB: /es/elasticsearch-1.7.1/data/ [elasticsearch_clustername]/Knoten/0/Indizes/[Indexname]/2/translog/

Verwandte Themen