说明
最近工作遇到需要将生产环境的es(8.1.0)数据导入部分到测试环境,由于之前也使用过logstash(7.9.3),这次也用了这个工具,最后发现由于版本不对应,各种报错,这里记录一下过程。
1.重新下载8.1.0版本的logstash
地址 https://www.elastic.co/downloads/past-releases#logstash
2.配置config文件
进入解压后文件的config文件,进行相关同步es数据信息的配置。
注意:使用es8以上的版本,如果开启了ssl认证,需要增加ssl和ssl_certificate_verification相关配置。
例如这儿使用配置文件:logstash-test.conf
input{
elasticsearch {
hosts => "xx.xx.xx.xx:9200"
user => "elastic"
password => "elastic"
ssl => true
ssl_certificate_verification => false
index => "student"
query => '{
"query": {
"range": {
"cr_time": {
"gte": "2023-01-06 13:00:00",
"lte": "2023-01-06 13:30:00"
}
}
}
}'
}
}
output{
elasticsearch {
hosts => ["127.0.0.1:9200"]
user => elastic
password => elastic
index => "student"
manage_template => false
}
}
3.更新input插件
由于增加了ssl_certificate_verification参数配置,所以对应input插件也需要更新。进入bin目录下,执行语句,会更新到最新版本。
相关插件的介绍可以去官网看看 https://www.elastic.co/guide/en/logstash/8.5/working-with-plugins.html
logstash-plugin update logstash-input-elasticsearch
4.执行命令同步数据
进入到bin目录下,执行命令,注意替换成自己的logstash-test.conf文件路径
logstash -f D:\dowload\tool\ES\ES8\logstash-8.1.0-windows-x86_64\logstash-8.1.0\config\logstash-test.conf
至此,就是整个操作过程