实时同步MySQL数据到ES

11 篇文章 0 订阅
3 篇文章 0 订阅

实时同步MySQL数据到ES

前情:经过查询,网上大概有以下三种方式
  • 1)elasticsearch-jdbc,独立的第三方工具(只支持es 二点几的版本,不支持5.6.1及更高版本)
  • 2)logstash-jdbc,logstash官方插件
    • 安装logstash
    • 安装logstash-jdbc
    • https://gems.ruby-china.com
  • 3)go-mysql-elasticsearch第三方开源项目
    • 需要安装go
    • 需要mysql开启binlog
  • 4)mypipe,mysql binlog同步工具
    • 功能太少
  • 5)mysqlsmom-第三方项目
  • 因为我所用的项目,生产环境比较复杂,牵扯多个公司,最终选择了mysqlsmom,且操作很方便

mysqlsmom

1.安装

pip install mysqlmom

  • 默认支持elasticsearch的2.4版本,也支持其他版本
2.创建配置文件

mom new 文件夹名/init_config.py -t init --force

  • 配置文件init_config.py也可以自己取其他名,运行时运行即可
3.编辑配置文件
  • 创建的初始配置文件,注释都有标注好需要改哪些地方
  • 主要需要改的几个地方
    • es数据库配置
    • mysql数据库配置
    • redis数据库配置
    • 需要同步的表
    • sql同步语句
    • 同步到es的字段、index
    • 其他的按需修改
4. 同步

mom run -c ./文件夹名/init_config.py
同步脚本会一直运行,当有新增或修改的数据,会自动同步到es
也支持安装时间同步数据(修改对应配置文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值