Logstash从mysql导数据到elasticsearch中

Logstash从mysql导数据到elasticsearch中

一、基本安装

1. 创建logstash安装目录

mkdir -p /usr/local/logstash

2. 解压tar包到指定的目录

tar zxvf logstash-7.16.1-linux-x86_64.tar.gz -C  /usr/local/logstash/

3. 启动logstash

/bin/logstash -e 'input {stdin{}} output {stdout{}}'

二、 同步mysql数据配置

1. 导入mysql的java驱动包mysql-connector-java-8.0.23.jar到/usr/local/logstash-7.16.1/logstash-core/lib/jars目录下;

2. 需要建立两个文件,一个jdbc.conf,一个jdbc.sql,名称自定义;

(我把这两个文件都放在/usr/local/logstash-7.16.1目录下)
jdbc.conf
在这里插入图片描述
jdbc.conf文本内容如下:

input {
   jdbc {
      # 设置timezone, 用于增量更新
      jdbc_default_timezone => "Asia/Shanghai"
      # mysql 数据库链接,test为数据库名
      jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/testes"
      # 用户名和密码
      jdbc_user => "root"
      jdbc_password => "root"
      # 驱动
      jdbc_driver_library => "/usr/local/logstash-7.16.1/logstash-core/lib/jars/mysql-connector-java-8.0.23.jar"
      # 驱动类名
      jdbc_driver_class => "com.mysql.jdbc.Driver"
      jdbc_paging_enabled => "true"
      jdbc_page_size => "50000"
      #last_run_metadata_path => "D:\Software\logstash-7.2.0\bin\mysql\last_value_data"
      # 执行的sql 文件路径+名称
      statement_filepath => "/usr/local/logstash-7.16.1/jdbc.sql"
      # 设置监听间隔 各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新
      schedule => "* * * * *"
   }
}

output {
   elasticsearch {
      # ES的IP地址及端口
      hosts => ["localhost:9200"]
      # 索引名称
      index => "mingxing"
      document_type => "_doc"
      # 自增ID需要关联的数据库中有一个id字段, 对应索引的id号
      document_id => "%{serialnumber}"
   }
   stdout {
      # JSON格式输出
      codec => json_lines
   }
}

jdbc.sql
在这里插入图片描述

3.logstash启动检查(检查配置文件写的对不对)

/bin/logstash -f /usr/local/logstash-7.16.1/ jdbc.conf -t

4.启动logstash

/bin/logstash -f /usr/local/logstash-7.16.1/ jdbc.conf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值