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
发布评论