Logstash 从mysql导入到Elasticsearch(全量导入)
程序员文章站
2022-06-11 11:37:45
...
1.elasticsearch版本:7.1.1
2.logstash版本:7.1.1
步骤
- 在logstash目录下建立目录mysql_plugin
- 目录下建立一个xxxx.conf文件 名字随意
- 建立sql文件
xxx.conf
input {
stdin {
}
jdbc {
jdbc_connection_string => "jdbc:mysql://localhost:3306/yourdatabase?characterEncoding=UTF-8&useSSL=false"
jdbc_user => "yourname"
jdbc_password => "password"
jdbc_driver_library => "D:/tools/gradle-4.10.3/repository/caches/modules-2/files-2.1/mysql/mysql-connector-java/5.1.10/b83574124f1a00d6f70d56ba64aa52b8e1588e6d/mysql-connector-java-5.1.10.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_paging_enabled => "true"
jdbc_page_size => "1000"
statement_filepath => "D:/tools/es/logstash-7.1.1/mysql_plugin/xxx.sql"
}
}
filter {
json {
source => "message"
remove_field => ["message"]
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "youindexname"
document_type => "_doc"
}
stdout {
codec => json_lines
}
}
xxx.sql
select * from yourtable
启动脚本
切换到logstash的bin目录下,执行以下命令
logstash -f ../mysql_plugin/xxx.conf
多脚本启动
若启动多个脚本,需要指定data目录,因为不同的软件进程会使用不同的缓存数据,若再启动一个xxx2.conf配置,需要使用以下命令
logstash -f ../mysql_plugin/xxx2.conf --path.data=../data2/
前提是在logstash目录下建立一个data2的文件夹
注意
xxx.conf文件内的代码不要有注释
上一篇: [ASP.NET]Session
下一篇: sqldr批量导入oracle数据库