1.mac下 安装logstash和logstash-input-jdbc
brew install logstash (安装很慢 耐心等待)
2..安装logstash-input-jdbc
直接在logstash的安装目录bin下运行
路径为:/usr/local/Cellar/logstash/7.3.0/bin
然后安装 :./logstash-plugin install logstash-input-jdbc
3.在bin目录下面新建 config-mysql目录 然后cd config-mysql
然后下载 一个 mysql 的java 驱动包 : mysql-connector-java-5.1.36-bin.jar(解压下载后的得到,在解压包里面,不要憨憨的把下载的压缩包当做驱动包,看清文件的扩展名)
然后vim mysql.conf (内容如下)
input {
stdin {
}
jdbc {
# 数据库连接
jdbc_connection_string => "jdbc:mysql://localhost:3306/zlk_dev"
# 用户名密码
jdbc_user => "root"
jdbc_password => "wqt5179495"
# jar包的位置,上面下载的
jdbc_driver_library => "/usr/local/Cellar/logstash/7.3.0/bin/config-mysql/mysql-connector-java-5.1.46-bin.jar"
# mysql的Driver
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
#statement_filepath => "config-mysql/test02.sql"
#同步 的表
statement => "SELECT * FROM picture_info "
#同步的间隔
schedule => "* * * * *"
#索引的类型
type => "pic_id"
}
}
filter {
json {
source => "message"
remove_field => ["message"]
}
}
output {
elasticsearch {
hosts => "127.0.0.1:9200"
# index名
index => "test01"
# 需要关联的数据库中有有一个id字段,对应索引的id号
document_id => "%{id}"
}
stdout {
codec => json_lines
}
}
config-mysql 下面的文件:
4.启动
进入 bin 目录 命令如下,等一会之后,就会看到数据库中的数据被读取出来,然后加载进索引
./logstash -f config-mysql/mysql.conf
效果如下:
5.到Elasticsearch 页面 可以看到数据同步进来了