工具:
logstash5.1.1
应用:
将mysql数据表中的数据同步到ElasticSearch
1、确保es是可以连接上并且是健康的
2、在将数据同步到es之前,要事先创建好对应的index
3、运行脚本,脚本如下:
input {
jdbc {
jdbc_driver_library => "/home/logstash/logstash-5.6.9/lib/mysql-connector-java-5.1.47-bin.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_connection_string => "jdbc:mysql://10.10.77.106:3306/cqct?useUnicode=true&characterEncoding=utf-8&useSSL=false&useSSL=true"
jdbc_user => "root"
jdbc_password => "root"
schedule => "* * * * *"
statement => "SELECT * from bm_apoint_rfid"
}
}
output {
# stdout {
# codec => json_lines
# }
elasticsearch {
#ESIP地址与端口
hosts => ["10.10.77.104:9200","10.10.77.105:9200","10.10.77.106:9200"]
#ES索引名称(自己定义的)
index => "cqct_20180508_06"
#文档类型
document_type => "RFID"
#文档类型id,%{userid}意思是取查询出来的userid的值,并将其映射到es中_id字段中
document_id => "%{id}"
codec => json_lines
}
}
若报错java.lang.OutOfMemoryError: Java heap space,请参考下一篇文章。