一、创建Mapping
mapping必须和原来旧服务器上的一样
二、创建logstash配置文件
在新服务器上带有logstash的目录下配置名称migrate.conf
内容如下所示:
input{
elasticsearch{
hosts => ["旧服务器地址:9200"]
user => "elastic旧服务器账号"
password => "旧服务器密码"
index => "索引"
size => 10000
docinfo => true
}
}
filter {
mutate {
remove_field => ["@timestamp", "@version"]
}
}
output{
elasticsearch{
hosts => ["127.0.0.1:9200"]
user => "elastic新的服务器账号"
password => "密码"
index => "索引"
document_type => "%{[@metadata][_type]}"
document_id => "%{[@metadata][_id]}"
}
}
相关参数说明如下:
docinfo:设置为true,将会提取ES文档的元信息,例如index、type和id
docinfo_fields:指定文档元信息,默认不带routing元信息
%{[@metadata][_index]}:使用源索引名称
%{[@metadata][_type]}:使用源类型
%{[@metadata][_id]}:使用源 id
三、执行命令
logstash的bin目录中的logstash -f migrate.conf文件地址 --config.reload.automatic --http.port 端口号 --path.data logstash的data目录/端口号 --path.logs logstash的logs目录/口号
等待执行关闭
四、问题总结
关于问题总结可以查看
elasticserach7.x _reindex远程数据迁移记录