当停止并重新启动时,它会尝试在偏移量之后执行。但出现了一个错误。
[执行命令]
nohup ./elasticdump --input=http://host/common --output=http://host/common --type=data --limit=1000 --offset=1000 &
[错误]
Error emed=>{“error”:{“root_cause”:[{“type”:“action_request_validation_exception”,“Reason”:“验证失败:1:滚动上下文中不允许使用[From];”}],“TYPE”:“ACTION_REQUEST_VALIDATION_EXCEPTION”,“Reason”:“验证失败:1:滚动上下文中不允许使用[From];”},“Status”:400}
如何使用偏移量?
2条答案
按热度按时间8xiog9wr1#
从elasticump项目的注解中可以看到:
如果您使用的是Elasticearch 6.0.0或更高版本,则不再允许在scllContext中使用偏移量参数
为了防止这种情况(只要不越过10000 limit),您可以不使用
offset
参数(即没有滚动上下文),而是提供一个带有from
和size
设置的搜索体,如下所示:更新:
如果您有超过10K的记录,并且弹性转储很容易在中途停止,我建议利用snapshot/restore feature将数据从一台服务器移动到另一台服务器。
huus2vyu2#
您可以在命令中使用--Limit参数,Offset的使用很危险,因为它可以跳过n个记录,n是偏移量。
更多参考资料-https://github.com/elasticsearch-dump/elasticsearch-dump
例如: