使用Logstash进行ElasticSearch数据迁移
背景
ip为172.31.xxx.xxx的这台上部署了一台elasticsearch服务,端口为9200,其中一个索引为hot_question,现在想将索引及数据全部导入到ip为172.30.xxx.xxx这台机器上启动的elasticsearch服务中,elasticsearch服务端口也为9200。
解决
去这里下载压缩包,我下载的是7.17.3版本。
然后上传到指定目录下,例如/mnt/public
目录下,接着进行解压缩。
tar -zxvf logstash-7.17.3-linux-x86_64.tar.gz
之后进入到/mnt/public/logstash-7.17.3/config
目录下:
,新建logstash.conf
文件,编辑内容如下:
input {
elasticsearch {
hosts => ["http://172.31.xxx.xxx:9200"]
index => "hot_question"
docinfo => true
}
}
output {
elasticsearch {
hosts => ["http://172.30.xxx.xxx:9200"]
index => "hot_question"
user => "xxx"
password => "xxx"
}
}
保存好之后,进入到/mnt/public/logstash-7.17.3/bin
目录,执行下面的命令:
./logstash -f ../config/logstash.conf
运行日志如下所示:
此时登录客户端,发现数据已经导入成功。