#elasticsearch #apache-storm
Вопрос:
У меня есть кластер ElasticSearch 2.1.1 с 11 узлами. В большинстве случаев все идет хорошо, но когда нагрузка увеличивается (запись данных из нескольких топологий штормов), кажется, что все запросы на запись отправляются на один и тот же узел и заканчиваются тем, что узел перегружен своей очередью сверх предела, в то время как другие узлы просто сидят там и ничего не делают.
node bulk.active bulk.queue
1 0 0
2 0 0
3 32 114
4 0 0
.and so on
И через некоторое время кластер начинает отклонять запросы на запись:
nested: EsRejectedExecutionException[rejected execution
of org.elasticsearch.action.support.replication.TransportReplicationAction$PrimaryPhase$1@7e368c0b on EsThreadPoolExecutor[bulk, queue capacity = 50, org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor@13ff1612[Running, pool size = 32, active threads = 32, queued tasks =
55, completed tasks = 249363622]
После прохождения нагрузки она восстанавливается, но то же самое происходит каждый раз, когда нагрузка увеличивается.
Кто-нибудь сталкивался с чем-то подобным? В чем может быть причина?
Комментарии:
1. Во-первых, 2 вещи. вы говорите, что ваша версия Elasticsearch 2.2? во-вторых, что происходит, когда нагрузка средняя или нормальная? получают ли другие узлы запросы на запись?
2. Во-первых, хороший момент, на самом деле это 2.1.1, извините за ошибку, Во-вторых: похоже, что да, они получают некоторые запросы на запись, при проверке информации thread_pool.bulk я вижу разные завершенные и отклоненные на разных узлах.
3. Есть ли какие-либо журналы штормов на нимбусе или наблюдателях, которые могут быть полезны?