Регулярная ошибка NoShardAvailableAc

Добрый день!

Имеется 3 индекса в elastic (пока очень маленькие - суммарное количество
элементов ~20000)

Данные постепенно добавляются.

Регулярно, при обращении к конкретной записи, или при поиске возникает
ошибка
{
"error": "NoShardAvailableActionException[[users][2] null]",
"status": 503
}
Причем, какие-то записи могут возвращаться нормально, какие-то с ошибкой.

Для исправления, пока индексы маленькие поступаю так - удаляю индексы,
затем создаю заново и заполняю данными.
Все начинает работать штатно, без ошибок.
Спустя какое-то время ошибка снова возникает.

Если данных будет много, такой способ будет не приемлем.

Почему может возникать такая ошибка? Как ее избежать?

Спасибо.

Эта ошибка - симптом каких-то проблем, которые возникают во время использования elasticsearch. Как правило, такие ошибки сопровождаются другими ошибками, которые записываются в лог, но не возвращаются пользователю. Вы не могли бы прислать логи или ошибки, которые вы в них видите? Кстати, это какая версия elasticsearch используется и сколько нод в кластере?

Добрый день.

Версия:
{
"status": 200,
"name": "Longneck",
"cluster_name": "elasticsearch",
"version": {
"number": "1.4.2",
"build_hash": "927caff6f05403e936c20bf4529f144f0c89fd8c",
"build_timestamp": "2014-12-16T14:11:12Z",
"build_snapshot": false,
"lucene_version": "4.10.2"
},
"tagline": "You Know, for Search"
}

Нода одна.

Логи могу прислать (куда?). Но ошибок там не вижу.

Можно сюда, можно на мой email - igor@elastic.co

В том то и дело, что нода у вас не одна. Судя по логам, у вас на этой машине в одно и тоже время работает между 1 и 6 нод elasticsearch. То есть одна нода работает постоянно, и это нода, про которую вы знаете. Другие 5 появляются на 10-15 секунд и потом исчезают. Я подозреваю, что у вас на этой машине есть какое-то приложение, написаное вами или вашими коллегами, которое вместо клиентской ноды, запускает полную ноду. Этим нодам иногда удается перетащить на себя все копии некоторых шард (жизнь этих нод весьма короткая и поэтому это удается редко). И когда эти ноды после этого останавливаются - перетащенные шарды исчезают из кластера и вы получаете ошибку NoShardAvailableActionException.

Ясно.

А не подскажете, как в логе видно появление дополнительных нод?
Возможно, по логам приложений я определю кто из них "портит" шарды.

Спасибо.

Вот типичные записи, которые появляются при присоединения и отсоединения одной ноды:

[2015-08-11 16:10:56,347][INFO ][cluster.service          ] [Longneck] added {[Nth Man][MdC0sRIERv2UqBqZvuZuoQ][ip-172-31-18-77][inet[/172.31.18.77:9301]],}, reason: zen-disco-receive(join from node[[Nth Man][MdC0sRIERv2UqBqZvuZuoQ][ip-172-31-18-77][inet[/172.31.18.77:9301]]])
[2015-08-11 16:11:49,542][INFO ][cluster.service          ] [Longneck] removed {[Nth Man][MdC0sRIERv2UqBqZvuZuoQ][ip-172-31-18-77][inet[/172.31.18.77:9301]],}, reason: zen-disco-node_left([Nth Man][MdC0sRIERv2UqBqZvuZuoQ][ip-172-31-18-77][inet[/172.31.18.77:9301]])

Вот пример массового соединения:

[2015-08-11 13:20:23,309][INFO ][cluster.service          ] [Longneck] added {[Penance][TPA068snQo2BnnURb1FkBw][ip-172-31-18-77][inet[/172.31.18.77:9301]],}, reason: zen-disco-receive(join from node[[Penance][TPA068snQo2BnnURb1FkBw][ip-172-31-18-77][inet[/172.31.18.77:9301]]])
[2015-08-11 13:20:23,724][INFO ][cluster.service          ] [Longneck] added {[Amiko Kobayashi][4YxAYe2cS8-IQvuUyZMOCQ][ip-172-31-18-77][inet[/172.31.18.77:9302]],}, reason: zen-disco-receive(join from node[[Amiko Kobayashi][4YxAYe2cS8-IQvuUyZMOCQ][ip-172-31-18-77][inet[/172.31.18.77:9302]]])
[2015-08-11 13:20:25,655][INFO ][cluster.service          ] [Longneck] added {[Vector][PX6dNfrHTKGzcfjovrrbRQ][ip-172-31-18-77][inet[/172.31.18.77:9305]],[Tusk][wi-4kYPaRL6Po_zK1GYUbA][ip-172-31-18-77][inet[/172.31.18.77:9303]],[Ringo Kid][4B4VhYEmSkymrQyqPTukfQ][ip-172-31-18-77][inet[/172.31.18.77:9304]],}, reason: zen-disco-receive(join from node[[Tusk][wi-4kYPaRL6Po_zK1GYUbA][ip-172-31-18-77][inet[/172.31.18.77:9303]]])
[2015-08-11 13:20:26,156][INFO ][cluster.service          ] [Longneck] added {[Bulldozer][wSTm9mCkT0yupwskvPPTVQ][ip-172-31-18-77][inet[/172.31.18.77:9306]],[Lancer][TQgmo0F6RySLNOS8SPXjKA][ip-172-31-18-77][inet[/172.31.18.77:9307]],}, reason: zen-disco-receive(join from node[[Ringo Kid][4B4VhYEmSkymrQyqPTukfQ][ip-172-31-18-77][inet[/172.31.18.77:9304]]])
[2015-08-11 13:20:47,824][INFO ][cluster.service          ] [Longneck] removed {[Vector][PX6dNfrHTKGzcfjovrrbRQ][ip-172-31-18-77][inet[/172.31.18.77:9305]],}, reason: zen-disco-node_failed([Vector][PX6dNfrHTKGzcfjovrrbRQ][ip-172-31-18-77][inet[/172.31.18.77:9305]]), reason transport disconnected
[2015-08-11 13:20:51,382][INFO ][cluster.service          ] [Longneck] removed {[Amiko Kobayashi][4YxAYe2cS8-IQvuUyZMOCQ][ip-172-31-18-77][inet[/172.31.18.77:9302]],}, reason: zen-disco-node_failed([Amiko Kobayashi][4YxAYe2cS8-IQvuUyZMOCQ][ip-172-31-18-77][inet[/172.31.18.77:9302]]), reason transport disconnected
[2015-08-11 13:20:58,873][INFO ][cluster.service          ] [Longneck] removed {[Tusk][wi-4kYPaRL6Po_zK1GYUbA][ip-172-31-18-77][inet[/172.31.18.77:9303]],}, reason: zen-disco-node_failed([Tusk][wi-4kYPaRL6Po_zK1GYUbA][ip-172-31-18-77][inet[/172.31.18.77:9303]]), reason transport disconnected
[2015-08-11 13:21:00,650][INFO ][cluster.service          ] [Longneck] removed {[Bulldozer][wSTm9mCkT0yupwskvPPTVQ][ip-172-31-18-77][inet[/172.31.18.77:9306]],}, reason: zen-disco-node_failed([Bulldozer][wSTm9mCkT0yupwskvPPTVQ][ip-172-31-18-77][inet[/172.31.18.77:9306]]), reason transport disconnected
[2015-08-11 13:21:04,624][INFO ][cluster.service          ] [Longneck] removed {[Penance][TPA068snQo2BnnURb1FkBw][ip-172-31-18-77][inet[/172.31.18.77:9301]],}, reason: zen-disco-node_failed([Penance][TPA068snQo2BnnURb1FkBw][ip-172-31-18-77][inet[/172.31.18.77:9301]]), reason transport disconnected

Большое спасибо. Проблему устранили.