Elasticsearch数据迁移-不同服务器
思路-使用logstash工具
要求-logstash能够连接到两台ES集群
方法-添加logstash配置如下
input {
elasticsearch {
hosts => ["数据来源host"]
# * 表示所有索引,可以改为需要的索引名称
index => "*"
docinfo => true
}
}
output {
elasticsearch {
hosts => ["目标host"]
# 迁移到目标使用的索引名称为来源的索引名称
index => "%{[@metadata][_index]}"
}
}
猜测-如果两台服务器网络不通,可以尝试在两台服务器上都安装logstash,先以文件形式导出数据,再将文件导入至目标ES
注意:
直接迁移logstash会自动创建索引mapping,但是不会添加分词器,有些属性类型也会识别错误,所以在迁移前手动创建相关mapping。