Недавно я столкнулся с проблемой, из-за которой я не могу запустить elasticsearch.
Версия-2.0 ОС: линукс
Отображалось сообщение об ошибке
[ERROR][gateway ] [Node] failed to read local state, exiting...
ElasticsearchException[must specify numberOfShards for index [version]]; nested: IllegalArgumentException[must specify numberOfShards for index [version]];
at org.elasticsearch.ExceptionsHelper.maybeThrowRuntimeAndSuppress(ExceptionsHelper.java:163)
at org.elasticsearch.gateway.MetaDataStateFormat.loadLatestState(MetaDataStateFormat.java:309)
at org.elasticsearch.gateway.MetaStateService.loadIndexState(MetaStateService.java:112)
at org.elasticsearch.gateway.MetaStateService.loadFullState(MetaStateService.java:97)
at org.elasticsearch.gateway.GatewayMetaState.loadMetaState(GatewayMetaState.java:97)
at org.elasticsearch.gateway.GatewayMetaState.pre20Upgrade(GatewayMetaState.java:223)
at org.elasticsearch.gateway.GatewayMetaState.<init>(GatewayMetaState.java:85)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.elasticsearch.common.inject.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:56)
Как запустить поиск по эластичности?
Редактировать 01:
Я поместил осколки и реплики в файлы elasticsearch.yml, но все еще не могу запустить elasticsearch. Получение вышеуказанного сообщения об ошибке.
Редактировать 02:
Я добавил осколки в файл yml.
#################################### Index ####################################
# You can set a number of options (such as shard/replica options, mapping
# or analyzer definitions, translog settings, ...) for indices globally,
# in this file.
#
# Note, that it makes more sense to configure index settings specifically for
# a certain index, either when creating it or by using the index templates API.
#
# See <http://elasticsearch.org/guide/en/elasticsearch/reference/current/index-modules.html> and
# <http://elasticsearch.org/guide/en/elasticsearch/reference/current/indices-create-index.html>
# for more information.
# Set the number of shards (splits) of an index (5 by default):
#
index.number_of_shards: 2
# Set the number of replicas (additional copies) of an index (1 by default):
#
index.number_of_replicas: 1
@Amit Я добавил осколки и реплики, но все равно получаю ту же ошибку.
можешь показать как добавил? и по какому показателю
@Amit Я добавил осколки в файл yml # Установить количество осколков (разбиений) индекса (по умолчанию 5): # index.number_of_shards: 3 # Установить количество реплик (дополнительных копий) индекса (1 по умолчанию): # index.number_of_replicas: 1
У вас очень старая версия, в любом случае это ваше индексное имяversion?
@Amit Имя моего индекса не является версией
Мы пошли дальше и восстановили сервер до предыдущей даты, когда работал elasticsearch, и проблема была решена.
сообщение об ошибке дает подсказку
numberOfShards not defined for your index