[英]Elasticsearch 429 Too Many Requests _bulk with synchronous requests
我正在使用 AWS Elasticsearch 服務。 在開發環境中有 t3.small 實例。 我有大約 15 000 條記錄要作為批量索引。 我所做的是將這個數量分成每個 250 個項目(或低於 10 MiB)的塊。 並逐個運行帶有refresh="wait_for"選項的 _bulk 請求,並等待請求完成后再發送下一個請求。 在某個時候,大約在 25 次迭代中,請求立即失敗並顯示消息
429 Too Many Requests /_bulk
以防萬一,如果塊大小為 500,這將在 25/2 請求時失敗(大約 12)
它沒有更多的說明。 僅此而已,如果沒有其他任何東西可以與我並行發送批量請求,我無法理解為什么會發生這種情況。 我檢查了數據大小小於 10MB。
我已經擁有的
出現該錯誤的原因可能是什么? 如果我始終如一地發送所有內容,如何保證我的請求不會失敗? 我可以通過任何其他選項來確保批量請求完全完成嗎?
作為寫拒絕的 429 錯誤消息表示批量隊列錯誤。 es_rejected_execution_exception[bulk] 表示您的隊列已滿並且任何新請求都被拒絕。 當對 Elasticsearch 集群的請求數超過批量隊列大小(threadpool.bulk.queue_size)時,會出現此批量隊列錯誤。 每個節點上的批量隊列可以容納 50 到 200 個請求,具體取決於您使用的 Elasticsearch 版本。
您可以查閱此鏈接https://aws.amazon.com/premiumsupport/knowledge-center/resolve-429-error-es/並檢查寫拒絕最佳實踐
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.