文章目录
1.安装logstash
注意:(最好安装与ES版本号一致的,不然可能会出现意想不到的问题)
我的ES版本是7.6.1,所以安装logstash 也是 7.6.1
http://artifacts.elastic.co/downloads/logstash/logstash-7.6.1.zip
下载完成后解压到相应的位置即可
2.配置
在目录的bin文件夹下创建一个mysql文件夹
首先,你要把“mysql-connector-java”mysql 的驱动包放到这个文件夹中,把比如我的是“mysql-connector-java-8.0.17.jar"
然后创建你需要同步的SQL语句,可以起一个.sql文件,如我这样:
SELECT * from fake_news ORDER BY create_time DESC
在 mysql 文件夹中新建文件 logstash.conf,文件中的配置内内容如下:
input {
stdin {
}
jdbc {
# mysql数据库连接
jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/fake_baidu?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC"
# mysqly用户名和密码
jdbc_user => "root"
jdbc_password => "root"
# 驱动配置【这里是你的驱动配置位置】
jdbc_driver_library => "D:\ES\logstash-7.6.1\bin\mysql\mysql-connector-java-8.0.17.jar"
# 驱动类名
jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
# 执行指定的sql文件
statement_filepath => "D:\ES\logstash-7.6.1\bin\mysql\fake_news.sql"
#执行的sql语句
#statement => "SELECT * FROM fake_news"
# 设置监听 各字段含义 分 时 天 月 年 ,默认全部为*代表含义:每分钟都更新
schedule => "* * * * *"
# 索引类型
#type => "blog"
}
}
output {
elasticsearch {
#es服务器
hosts => ["localhost:9200"]
#ES索引名称
index => "fake_news"
#这是你的主键
document_id => "%{news_id}"
}
stdout {
codec => json_lines
}
}
然后cmd进入到bin目录下执行启动 :
logstash -f mysql/logstash.conf
出现如下即为成功: