使用Logstash进行ElasticSearch数据迁移

背景

ip为172.31.xxx.xxx的这台上部署了一台elasticsearch服务,端口为9200,其中一个索引为hot_question,现在想将索引及数据全部导入到ip为172.30.xxx.xxx这台机器上启动的elasticsearch服务中,elasticsearch服务端口也为9200。

解决

这里下载压缩包,我下载的是7.17.3版本。
image

然后上传到指定目录下,例如/mnt/public目录下,接着进行解压缩。

tar -zxvf logstash-7.17.3-linux-x86_64.tar.gz

之后进入到/mnt/public/logstash-7.17.3/config目录下:

image

,新建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

运行日志如下所示:
image

image

此时登录客户端,发现数据已经导入成功。

image

posted @ 2024-11-19 15:39  Reecelin  阅读(1)  评论(0编辑  收藏  举报