使用canal实现增量同步MySQL的数据到ES

àì夳堔傛蜴生んèń 2023-06-25 08:27 98阅读 0赞

搭建环境

  • 操作系统: CentOS release 6.5 (Final)
  • MySQL版本: 10.0.33-MariaDB-wsrep
  • JDK版本:1.8(强力要求,否则会导致ES和canal-adapter无法启动)
  • ElasticSearch版本:6.8.0
  • canal版本: 1.1.3
  • zookeeper

技术方案概览

  • 开启MySQL的binary log日志记录
  • 修改MySQL的binary log模式为ROW
  • canal-server充当MySQL集群的一个slave,获取master的binary log信息
  • canal-server将拿到的binary log信息推送给canal-adapter
  • canal-server和canal-adapter采用多节点部署的方式提高可用性
  • canal-adapter将数据同步到es集群

MySQL配置

  • 开启master的binary log记录功能,并且选择模式为ROW
  1. log-bin=mysql-bin #添加这一行就ok
  2. binlog-format=ROW #选择row模式
  3. server_id=1 #配置mysql replaction需要定义,不能和canal的slaveId重复
  • canal的原理是模拟自己为mysql slave,所以这里一定需要做为mysql slave的相关权限.
  1. CREATE USER canal IDENTIFIED BY 'canal

发表评论

表情:
评论列表 (有 0 条评论,98人围观)

还没有评论,来说两句吧...

相关阅读