AWS OpenSearch跨版本索引迁移遇REQUEST_ENTITY_TOO_LARGE问题求助
解决elasticdump迁移AWS OpenSearch时的REQUEST_ENTITY_TOO_LARGE错误
问题根源
AWS OpenSearch单条bulk写入请求的上限是100MB,你设置--limit 10时,10条文档的总大小加上bulk请求的元数据,刚好超过了这个阈值,所以触发报错。
解决参数组合方案
同时限制文档条数与bulk请求大小:
--limit控制每次从源端拉取的文档数量,--bulk-size(单位为字节)直接限制单个bulk请求的总大小。给bulk请求预留出元数据的空间,比如设为92MB(约96636764字节),搭配--limit 10使用,确保单请求不触碰100MB红线:elasticdump \ --input=https://source-opensearch-endpoint/your-index \ --output=https://target-opensearch-endpoint/your-index \ --limit 10 \ --bulk-size 96636764强制单线程写入:
若默认启用了并发写入,多个bulk请求可能间接触发限制,加上--concurrency 1强制单线程执行,避免并发带来的请求叠加问题:elasticdump \ --input=https://source-opensearch-endpoint/your-index \ --output=https://target-opensearch-endpoint/your-index \ --limit 10 \ --bulk-size 96636764 \ --concurrency 1排查并处理超大文档:
如果索引里存在单条大小接近100MB的文档,哪怕--limit 1能正常运行,也建议先在源端处理这类文档(拆分、压缩),避免迁移后在目标端触发其他大小限制问题。
额外提示
- 优先单独迁移mapping和settings,再导入数据,避免因mapping不匹配导致请求体积异常增大。
- 确认AWS OpenSearch的访问策略允许elasticdump所在IP,排除权限问题对迁移的干扰。
内容的提问来源于stack exchange,提问作者SomeOneDudOrg
相关产品推荐
相关产品推荐

