使用elasticdump的方法进行跨地域的elasticsearch集群间数据迁移

1.提示需要账户和密码

elasticdump --input http://es的ip:9200/test_xd --output ./test_xd.json

Wed, 21 Nov 2018 05:06:10 GMT | starting dump
Wed, 21 Nov 2018 05:06:10 GMT | Error Emitted => {"error":{"root_cause":[{"type":"security_exception","reason":"missing authentication token for REST request [/test_xd/_search?scroll=10m&from=0]","header":{"WWW-Authenticate":"Basic realm=\"security\" charset=\"UTF-8\""}}],"type":"security_exception","reason":"missing authentication token for REST request [/test_xd/_search?scroll=10m&from=0]","header":{"WWW-Authenticate":"Basic realm=\"security\" charset=\"UTF-8\""}},"status":401}
Wed, 21 Nov 2018 05:06:10 GMT | Total Writes: 0
Wed, 21 Nov 2018 05:06:10 GMT | dump ended with error (get phase) => Error: {"error":{"root_cause":[{"type":"security_exception","reason":"missing authentication token for REST request [/test_xd/_search?scroll=10m&from=0]","header":{"WWW-Authenticate":"Basic realm=\"security\" charset=\"UTF-8\""}}],"type":"security_exception","reason":"missing authentication token for REST request [/test_xd/_search?scroll=10m&from=0]","header":{"WWW-Authenticate":"Basic realm=\"security\" charset=\"UTF-8\""}},"status":401}

修改措施:

elasticdump --input http://账户:密码@es的IP:9200/test_xd --output ./test_xd.json

2.导出版本不兼容

Wed, 21 Nov 2018 05:04:29 GMT | starting dump
Wed, 21 Nov 2018 05:04:29 GMT | Error Emitted => {"error":{"root_cause":[{"type":"parsing_exception","reason":"The field [fields] is no longer supported, please use [stored_fields] to retrieve stored fields or _source filtering if the field is not stored","line":1,"col":36}],"type":"parsing_exception","reason":"The field [fields] is no longer supported, please use [stored_fields] to retrieve stored fields or _source filtering if the field is not stored","line":1,"col":36},"status":400}
Wed, 21 Nov 2018 05:04:29 GMT | Total Writes: 0
Wed, 21 Nov 2018 05:04:29 GMT | dump ended with error (get phase) => Error: {"error":{"root_cause":[{"type":"parsing_exception","reason":"The field [fields] is no longer supported, please use [stored_fields] to retrieve stored fields or _source filtering if the field is not stored","line":1,"col":36}],"type":"parsing_exception","reason":"The field [fields] is no longer supported, please use [stored_fields] to retrieve stored fields or _source filtering if the field is not stored","line":1,"col":36},"status":400}

原因:elasticsearch的字段_source会逐渐被stored_fields代替。

解决措施:

elasticdump \
  --input=http://账户:密码@es的IP:9200/test_xd \
  --output=query.json \
  --searchBody '{"query":{"match_all": {}}}'

生成query.json文件,在elasticsearch集群导入该json即可。

猜你喜欢

转载自blog.csdn.net/weixin_39128119/article/details/84317216