我才用的是elasticsearch-dump。
如果新服务器还没有安装es,先去访问老es地址
看到版本号(7.16.2)去官网下载一个对应版本的, 安装后进入node_modules/.bin文件夹(这是win版的)
然后在当前目录先后执行导出索引、导出映射、(存储的.json文件不要先创建,只要写好路径 写好名称即可)导入索引、导入映射(也不用在新es中新建索引),下面开始直接执行即可(linux执行语句一样):
####导出 索引
elasticdump \ --input=http://61.243.10.38:9200/project_node_data \ --output=E://esdata_project_node_data_mapping.json \ --type=mapping
##### 映射
elasticdump \ --input=http://61.243.10.38:9200/project_node_data \ --output=E://esdata_project_node_data_index.json \ --type=data \ --limit=2000
##--limit=2000 是每次按2000条导出 不然导出太慢打印太多;
##--input=http://61.243.10.38:9200/project_node_data 这个是你老服务上es的ip加索引名称;
##--output=E://esdata_project_node_data_index.json 这个是你当前机器的方json文件的路径
我使用的是win作为中间机器 因为那两台机器中9200调不通 需要中间机器
如果你的两台机器能通 (先ping能通的话 再telnet)
直接在其中一台安装elasticdump 即可;
# 将数据导入至索引/
elasticdump \ --output=http://139.9.249.91:9200/court_project_node_data \ --input=E://esdata_project_node_data_mapping.json \ --type=mapping
# 将ES文档数据导入至索引
elasticdump \ --output=http://139.9.249.91:9200/court_project_node_data \ --input=E://esdata_project_node_data_index.json \ --type=data \ --limit=2000
不过麻烦的是这个一个一个到入索引和数据的方式,如果索引比较多,则可以参考官网文档,有很多方式,也支持全索引导入导出、在线数据迁移等