Logstash:定时执行,把MySQL数据同步至Elasticsearch中

需求

随着线上业务数据的剧增,需要优化检索,选择ES做为搜索引擎,那么问题来了,线上已有的数据怎么处理

以下方案仅供参考:

前提条件准备

1、需要安装好Mysql,并准备好需要同步的数据
2、需要安装好Elasticsearch

3、需要安装好Logstash

4、需要下载相应的JDBC connector      mysql-connector-java-8.0.20.jar

 

同步脚本配置

1、创建同步数据配置文件

对Logstash做如下的配置sync_data.conf:

    input {
        jdbc {
           jdbc_connection_string => "jdbc:mysql://192.168.1.6:3316/ry"
           jdbc_user => "root"
           jdbc_password => "123456"
           jdbc_validate_connection => true
           jdbc_driver_library => "/home/www/mysql-connector-java-8.0.20.jar"
           jdbc_driver_class => "com.mysql.jdbc.Driver"
           statement => "SELECT * FROM user"
           jdbc_paging_enabled => "true"
           jdbc_page_size => "50000"
           # 定时字段 各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新
           schedule => "* * * * *"
        }    
    }
     
    filter {
            json {
                source => "message"
                remove_field => ["message"]
            }
    }
     
    output {
        stdout {
                codec => json_lines
        }
     
        elasticsearch {
                hosts => "192.168.1.6:9200"
                # index名称
                index => "es_ry"
                # type名称
                document_type => "_doc_user"
                # 文档_id
                document_id => "%{id}"
        } 
    }

2、运行Logstash加载数据

./bin/logstash --debug -f ./config/sync_data.conf

这样就可以完成mysql到es的数据同步

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

流浪书生gzs

原创不易,感谢支持打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值