同步mysql数据到ElasticSearch
一、安装logstash
1 下载logstash
注意下载的版本要和你的elasticsearch的版本号一致
Logstash下载:https://www.elastic.co/downloads/logstash
2 在logstash文件目录下创建一个文件夹,命名随意,如config_mysql
2.1新建mysql.conf文件
input {
jdbc {
#数据库
jdbc_connection_string => "jdbc:mysql://localhost:3306/test"
#用户名密码
jdbc_user => "root"
jdbc_password => ""
#jar包的位置
jdbc_driver_library => "C:\es\logstash-6.6.2\config_mysql\mysql-connector-java-5.1.38.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
#jdbc的位置
statement_filepath => "C:\es\logstash-6.6.2\config_mysql\jdbc.sql"
schedule => "* * * * *"
type => "jdbc"
}
}
filter {
json {
source => "message"
remove_field => ["message"]
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
# index名
index => "person"
# 需要关联的数据库中有有一个id字段,对应索引的id号
document_id => "%{person_id}"
}
stdout {
codec => json_lines
}
}
2.2 新建jdbc文件
select * from testtable
2.3 加入mysql的驱动 mysql-connector-java-5.1.38.jar
2.4 同步的数据表如下
3 启动logstash
logstash.bat -f ../config_mysql/mysql.conf,启动完成后,稍等片刻,我们就可以看到同步的数据了