показать и изменить параметр threadpool.bulk.queue_size - PullRequest
2 голосов
/ 29 апреля 2020

Я использую версиюasticsearch 6.7.2, и у меня ошибка 429

{
    "error": {
        "root_cause": [
            {
                "type": "remote_transport_exception",
                "reason": "[localhost][localhost:9300][indices:data/write/bulk[s]]"
            }
        ],
        "type": "es_rejected_execution_exception",
        "reason": "rejected execution of processing of [682604930][indices:data/write/bulk[s][p]]: request: BulkShardRequest [[hboauth2-2020.04.20-000113][0]] containing [index {[hboauth2][_doc][yRuEnHEBn6z33bhuCGjZ], source[{\"Action\":\"Service UpdateUserStatus Start\",\"ClientID\":\"\",\"Code\":0,\"Component\":\"UpdateUserStatus\",\"CustomMessage\":\"\",\"Data\":\"null\",\"LogDate\":1587468830939,\"Message\":\"{OK false}\",\"Type\":\"Info\",\"UserID\":\"4c220ab2-282d-466f-a9f5-da0e59b7b803\"}]}], target allocation id: wZFZUPi5TnSYFg-BNonHug, primary term: 1 on EsThreadPoolExecutor[name = localhost/write, queue capacity = 200, org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor@744831b0[Running, pool size = 16, active threads = 16, queued tasks = 224, completed tasks = 264136589]]"
    },
    "status": 429
}

Я нашел решение проблемы, но не могу найти параметр threadpool.bulk.queue_size в моей версии. Не могли бы вы помочь мне, как найти и изменить этот параметр

Ответы [ 2 ]

0 голосов
/ 29 апреля 2020

Я искал, как я могу изменить thread_pool.write.queue_size и сначала найти 2 решения.

curl -XPUT  _cluster/settings -d '{
    "persistent" : {
        "thread_pool.write.queue_size" : <new_size>
    }
}'

, во-вторых, записать в файлasticsearch.yaml paramater thread_pool.write.queue_size

все решения действует для моей версии 6.2.7?

0 голосов
/ 29 апреля 2020

Как показано в официальном примере , вы можете изменить размер очереди пула массовых потоков, используя приведенный ниже конфигурационный файл вasticsearch.config, или обновить настройку кластера.

Обратите внимание, пул потоков записи используется для массового запроса, как описано в той же ссылке:

write Для индекса / удаления / обновления одного документа и массовых запросов . Тип пула потоков имеет фиксированный размер # числа доступных процессоров, размер очереди - 200. Максимальный размер этого пула - 1 + число доступных процессоров.

thread_pool:
    write:
        size: 30. --> no if threads in your case, its 16 as shown in exception
        queue_size: 400 --> here you can add `queue_size`

Инструкция по изменению в этих настройках также упоминалось

Изменение указанного пула потоков c можно выполнить, задав его параметры типа c; например, изменение количества потоков в пуле потоков записи:

Редактировать: Как указано @val в разделе комментариев, Добавление заявления об отказе от изменения этих настроек по умолчанию.

Пожалуйста, ознакомьтесь с техническими особенностями этих настроек и их влиянием, так как их часто не рекомендуется менять, больше информации в этом официальном блоге

...