使用 logstash 将 mysql 数据同步到 elasticsearsh

181 阅读1分钟

一、下载 logstash

下载路径:www.elastic.co/downloads/p…

第一个选择框中选择 Logstash
第二个选择框中选择版本(与你elasticsearch版本相同,我的版本是7.12.1)

image.png

本人是在 windows 环境下做测试的,所以这边选择 windows 版本

image.png

二、添加配置文件

1、解压之后,找到 config 目录

image.png

2、新建一个配置文件(文件名.conf)

image.png

3、编辑配置文件(按照自己的情况编辑)

PS:数据库驱动包自己去本地 maven 仓库找

input {
  jdbc {
    jdbc_connection_string => "jdbc:mysql://10.29.195.89:3306/es"  # 数据库连接地址
    jdbc_user => "root"  # 数据库用户名
    jdbc_password => "123456.Password"  # 数据库密码
    jdbc_driver_library => "D:\ym\logstash-7.12.1\config\mysql-connector-j-8.0.32.jar"  # 数据库驱动包
    jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
    statement => "SELECT * FROM tb_hotel"  # 需要同步的数据表 tb_hotel
  }
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]  # elasticsearch的地址
    index => "hotel"  # 索引表名
    document_id => "%{id}"
  }
}

三、加载配置文件

到 bin 目录下面执行下面指令

.\logstash -f ..\config\jdbc.conf

四、结果

测试成功!

image.png