Не удалось запустить Sonar Webservice

Я работаю над Sonarqube 5.1. Раньше он работал нормально, позже я получил это не осталось места при ошибке устройства. Так что я удалил некоторые ненужные файлы и перезапустил службу. Теперь я вижу, что статус службы запущен, но я не могу получить доступ к веб-странице (так как веб-служба сонара не запущена). Я проверил журналы и обнаружил ошибку, указанную ниже.

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] на моей машине? помоги мне с этим.

Заранее спасибо.

5 ответов

Решение

Ваш индекс ES, похоже, поврежден.

Вся базовая информация хранится в БД. Не удаляйте и не обновляйте его вручную.

Напротив, если вы удалите индексы ES, они будут просто перестроены при следующем запуске (что может занять некоторое время в зависимости от количества данных, которые у вас есть).

Для этого удалите es каталог в data каталог вашего экземпляра SQ.

Мы сталкивались с этой проблемой много раз. Мы удаляем каталог es в каталоге $SONAR_HOME/data экземпляра SQ и перезапускаем экземпляр SQ. Он снова начинает индексирование. Примечание. Единственная проблема, с которой вы столкнетесь, - во время индексирования ваш веб-сервер SQ будет недоступен. Вы не можете просматривать ваш localhost:9000(он будет продолжать загружаться, пока индексирование не закончится). Поскольку наш проект большой, для индексации требуется несколько часов. Как только индексация завершена, вы можете просмотреть свой веб-сервер SQ.

Удалите файл.recovery из папки транслога

Например:/es/elasticsearch-1.7.1/data/[elasticsearch_clustername]/ узлы /0/ индексы / [имя_индекс]/2/ транслогарифмический /

Если вы используете базу данных для хранения результатов анализа гидролокатора, очистите базу данных один раз, а затем снова запустите гидролокатор, потому что он иногда портит старые и новые результаты, хранящиеся в базе данных. Он не выполняет индексацию ваших файлов.

Существует способ, чтобы специально исправить повреждение журнала переводов упругого поиска, которое здесь затронуто. Принятый ответ приводит к высоким нагрузкам на сервер и, по-видимому, допускает большую потерю данных. В качестве первого шага рассмотрим мой ответ (аналогично ответу Баладжи, но с использованием официального инструмента для него): Elastic Search IndexShardGatewayRecoveryException

Другие вопросы по тегам