线上配置和运行ElasticSearch系列三之LogStash同步数据RDS到ElasticSearch

ElasticSearch服务搭建好后,我们需要将数据库里需要进行搜索的数据同步到ElasticSearch
方案有

  1. 官方提供了Kibana可以安装后,在浏览器打开配置的地址以命令行的形式对index和数据进行增删改查操作
  2. 采用LogStash可以利用JDBC进行数据的输入和输出
  3. canal 主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费
    业务应用中如果需要进行增量数据处理,可以采用LogStash和canal,canal是基于MySQL的Binlog日志来处理的,canal 模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave ,向 MySQL master 发送dump 协议 MySQL master 收到 dump 请求,开始推送 binary log 给 slave (即 canal ),canal 解析 binary log 对象(原始为 byte 流)
    安装LogStash 直接下载下来解压然后进入bin目录执行就可以运行起来(如果下载因为网络问题很慢可以从这里(链接: https://pan.baidu.com/s/1jRuLoSZiz6ZEUepv9jY-_g 提取码: 7usm)下载然后上传到相应的目录),里面包含了LogStash和mysql-connector-java连接

怎样同步数据,这里需要在运行命令之前,添加相关的配置
在/你的目录/logstash-6.2.2/config/添加上配置文件,比如jdbc.config
在这里插入图片描述
这里贴上相关的配置,免得手写输入,上下对照,结合自己的服务器改

input {
    stdin { }
    jdbc {
        ## mysql-connector-java jar包位置
        jdbc_driver_library => "/usr/local/src/logstash-6.2.3/logstash-core/lib/mysql-connector-java-5.1.46.jar"
        jdbc_driver_class => "com.mysql.jdbc.Driver"
        ## 需要同步的数据库连接
        jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/blog"
        ## 数据库用户名
        jdbc_user => "root"
        ## 数据库密码
        jdbc_password => "root"
        jdbc_paging_enabled => "true"
        jdbc_page_size => "50000"
        ## 查询语句,具体的表即可
        statement => "SELECT * FROM article"
        schedule => "* * * * *"
    }
 }
 output {
    elasticsearch {
        hosts => "localhost:9200"
        ## 索引名称
        index => "es"
        document_type => "article"
        document_id => "%{id}"
    }
}

解释
schedule 即是定时任务设置后,会以增量的形式同步数据
schedule : 更新频率,五个星星代表 分 时 天 月 年,
例如"* * * * *"就是每分钟,
" * /1 * * " 就是每小时,
"/10 * * * "
/10 是每十分钟
注意不加斜杠 10 是每小时的第10分,默认是最小单位是分,也就是全部5个就是每分钟执行一次,其实也可以秒级执行的,这样写
schedule => "
/5 * * * * "
只要在前面再加一个
单位就是秒,这里就是每5s执行一次

后台以守护进程的方式运行
nohup ./logstash -f …/config/jdbc.conf --path.data=/usr/local/logstash-6.2.2/data/xx/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值