ES Logstash 8.x 同步 mysql

编程入门 行业动态 更新时间:2024-10-12 12:27:14

ES <a href=https://www.elefans.com/category/jswz/34/1755491.html style=Logstash 8.x 同步 mysql"/>

ES Logstash 8.x 同步 mysql

Elasticsearch专栏入口

EKL部署:Elasticsearch + Kibana+Logstash 8.x版本部署(linux)

目录

  • 一、Logstash环境准备
    • 1.1 logstash下载
    • 1.2 基础配置
  • 二、Logstash同步mysql配置
    • 2.1 配置
    • 2.2 测试
    • 2.3启动

一、Logstash环境准备

1.1 logstash下载

# 确认位置cd /usr/local# 下载wget .1.2-linux-x86_64.tar.gz# 解压
tar -zxvf logstash-8.1.2-linux-x86_64.tar.gz# 删除安装包
rm -rf logstash-8.1.2-linux-x86_64.tar.gz# 改名
mv logstash-8.1.2/ logstash

1.2 基础配置

# 确定位置
cd /usr/local/logstash# 进入配置文件
vim config/logstash.yml# 末尾直接添加
http.host: "0.0.0.0"
node.name: logstash# 添加mysql目录
mkdir mysql# 移动至目录
cd mysql# 下载 驱动 mysql-connector
wget //archives/mysql-connector-java-8.0/mysql-connector-java-8.0.15-1.el7.noarch.rpm# 下载下来时rpm格式 解压
rpm2cpio mysql-connector-java-8.0.15-1.el7.noarch.rpm | cpio -div# 把jar包移出
mv usr/share/java/mysql-connector-java-8.0.15.jar ./# 删除多余的文件
rm -rf mysql-connector-java-8.0.15-1.el7.noarch.rpm
rm -rf usr/# 退出mysql目录
cd ..# 进入最终同步配置
vim config/mysql.conf 

二、Logstash同步mysql配置

2.1 配置

input {jdbc {
# mysql 数据库链接,shop为数据库名jdbc_connection_string => "jdbc:mysql://ip/tiantiantsouti?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC"# 用户名和密码jdbc_user => ""jdbc_password => ""# 驱动jdbc_driver_library => "/usr/local/logstash/mysql/mysql-connector-java-8.0.15.jar"# 驱动类名jdbc_driver_class => "com.mysql.jdbc.Driver"#是否分页jdbc_paging_enabled => "true"jdbc_page_size => "5000"#直接执行sql语句 增量同步statement => "select * from questions WHERE id >= :sql_last_value"# 执行的sql 文件路径+名称# statement_filepath => "/usr/local/logstash/mysql/question.sql"# 是否记录某个字段值,true为我们自定义一个字段值,flase为默认的时间戳.use_column_value => true# 记录字段的类型默认时numeric数字还可以是timestamptracking_column_type => "numeric"# 设置新的记录字段tracking_column => "id"# 如果是true,每次将新的id更新到指定文件中record_last_run => true# 关闭时是否清除记录文件,false为不清除clean_run => false# 保存位置last_run_metadata_path => "/usr/local/logstash/last_time_000"# 更新时间间隔 现在5个*这个为默认 1分钟1更新schedule => " * * * * * "}
}output {elasticsearch {#es的ip和端口hosts => ["http://ip:9200"]#ES索引名称(自己定义的)index => "index"#设置数据的id为数据库中的字段 id需要换成mysql中的id 名必须为小写不然无法带入document_id => "%{id}"}stdout {codec => json_lines}
}

2.2 测试

# 目录后退
cd ..
#  测试
bin/logstash -f config/mysql.conf -t
# 返回信息最后应该时这样的
Using config.test_and_exit mode. Config Validation Result: OK. Exiting Logstash

2.3启动

# 成功后启动 
bin/logstash -f config/mysql.conf# nohup 后台启动 两种都可
nohup /usr/local/logstash/bin/logstash -f /usr/local/logstash/config/mysql.conf > nohup.out 2>&1 &

更多推荐

ES Logstash 8.x 同步 mysql

本文发布于:2024-02-27 01:26:19,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1704698.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Logstash   ES   mysql

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!