当前位置: 首页 > news >正文

DEMO:Canal实时同步MySQL内容到Elasticsearch

文章目录

  • Windows环境搭建
  • 基础知识
    • 主从复制原理
    • Cannel 基础
  • 一、安装ES
  • 二、安装Kibana
  • 三、下载并安装Canal
    • 假如后面Canal启动报错,克服方法直达链接
    • 3.1、设置MySQL以支持Canal
    • 3.2、配置canal-deployer(canal-server)
    • 3.3、配置 canal-adapter
    • 3.4、配置canal-admin
  • 四、测试验证同步MySQL到ES
    • 创建ES索引
    • 在MySQL数据库中创建信息
    • 在MySQL数据库中修改内容
    • 对MySQL数据进行删除操作
  • 五、总结

Canal实时同步MySQL数据到Elasticsearch资源包

Windows环境搭建

注意事项:由于不同版本的MySQLElasticsearchCanal会有兼容性问题。

我本地搭建环境使用的版本如下:

软件版本
Elasticsearch:下载地址https://www.elastic.co/cn/downloads/past-releases?product=elasticsearch6.2.2
Kibana:下载地址https://www.elastic.co/cn/downloads/past-releases?product=kibana6.0.0
Canal:下载地址https://github.com/alibaba/canal/releases1.1.8
MySQL8.4
JDK1.8.0_442

基础知识

主从复制原理

MySQL 的主从复制是依赖于 binlog,也就是记录 MySQL 上的所有变化并以二进制形式保存在磁盘上二进制日志文件。

主从复制就是将 binlog 中的数据从主库传输到从库上,一般这个过程是异步的,即主库上的操作不会等待 binlog 同步地完成。
在这里插入图片描述
详细流程如下:

  1. 主库写 binlog:主库的更新 SQL(update、insert、delete) 被写到 binlog;

  2. 主库发送 binlog:主库创建一个 log dump 线程来发送 binlog 给从库;

  3. 从库写 relay log:从库在连接到主节点时会创建一个 IO 线程,以请求主库更新的 binlog,并且把接收到的 binlog 信息写入一个叫做 relay log 的日志文件;

  4. 从库回放:从库还会创建一个 SQL 线程读取 relay log 中的内容,并且在从库中做回放,最终构建主从的一致性。

Cannel 基础

Canel 是一款常用的数据同步工具,其原理是基于 Binlog 订阅的方式实现,模拟一个 MySQL Slave 订阅 Binlog 日志,从而实现 CDC(Change Data Capture),将已提交的更改发送到下游。

主要流程如下:

  1. Canal 服务端向 MySQL 的 master 节点传输 dump 协议;

  2. MySQL 的 master 节点接收到 dump 请求后推送 Binlog 日志给 Canal 服务端,解析 Binlog 对象(原始为 byte 流)转成 Json 格式;

  3. Canal 客户端借助 TCP 协议或 MQ 形式监听 Canal 服务端,同步数据到 ES。

在这里插入图片描述
下面是 Cannel 执行的核心流程,其中 Binlog Parser 主要负责 Binlog 的提取、解析和推送,EventSink 负责内容的过滤 、路由和加工,仅作了解即可。

在这里插入图片描述

一、安装ES

  1. 根据自己所需下载对应 elasticsearch 版本,我这里使用的是 6.2.2 版本
    下载地址:https://www.elastic.co/cn/downloads/past-releases?product=elasticsearch
    在这里插入图片描述

  2. 下载完成后解压 elasticsearch-6.2.2.zip 压缩包到自己本地路径上,解压后目录如下:
    在这里插入图片描述

  3. 执行bin目录下的elasticsearch.bat文件,启动Elasticsearch
    在这里插入图片描述

  4. 测试启动是否成功
    在浏览器输入以下地址:http://127.0.0.1:9200/,看到以下内容表示启动成功:
    在这里插入图片描述

二、安装Kibana

  1. 根据自己所需下载 kibana 版本,我这里使用的是 6.0.0 版本

    下载地址:https://www.elastic.co/cn/downloads/past-releases?product=kibana
    在这里插入图片描述

  2. 解压 kibana-6.0.0-windows-x86_64.zip 压缩包到本地目录下:
    在这里插入图片描述

  3. 执行bin目录下的kibana.bat文件,启动Kibana
    在这里插入图片描述

  4. 测试启动是否成功
    ​ 在浏览器输入以下地址:http://127.0.0.1:5601/,看到以下内容表示启动成功:
    在这里插入图片描述

三、下载并安装Canal

如果后面Canal启动

http://www.jsqmd.com/news/269778/

相关文章:

  • 什么是6S?一张图讲清整理、整顿、清扫、清洁、素养、安全
  • “微型应用“兴起:非开发者自主开发应用而非购买现成产品
  • “微型应用“兴起:非开发者自主开发应用而非购买现成产品
  • 【毕业设计】基于django定制化ERP系统APP小程序(源码+文档+远程调试,全bao定制等)
  • 【课程设计/毕业设计】基于django的企业定制化ERP办公系统APP小程序【附源码、数据库、万字文档】
  • 历年CSP-J初赛真题解析 | 2015年CSP-J初赛
  • 【软考每日一练004】图解内存管理:分页存储地址转换与页面置换算法详解
  • gpu诊断命令
  • 【软考每日一练004】图解内存管理:分页存储地址转换与页面置换算法详解
  • 历年CSP-J初赛真题解析 | 2019年CSP-J初赛
  • 告别嘈杂!Moodist%20白噪音神器,搭配%20cpolar%20解锁随时随地的宁静
  • 算术包实例:符号代数练习题
  • 导师严选9个一键生成论文工具,专科生毕业论文轻松搞定!
  • 大模型部署测试
  • DAY45@浙大疏锦行
  • 不会建模也能做 3D?2D 原画“充气”变动画的逃课流
  • 想在 Java 八股文面试中脱颖而出?这1000 道互联网大厂面试题必不可少!
  • 9个高效降aigc工具推荐,本科生必看!
  • 啃完阿里老哥这套Java面试八股文后,成功收获蚂蚁 offer
  • 源自新西兰的天然馈赠:Newo纽渥有机娟姗鲜牛奶,重新定义家庭健康饮奶标准 - 行业调研院
  • 致并肩前行的你:一封来自近屿智能的信
  • day154—回溯—分割回文串(LeetCode-131)
  • OpenAI和Anthropic竞相布局医疗健康领域,AI医疗浪潮已至
  • day155—回溯—组合(LeetCode-77)
  • 实用指南:零基础学AI大模型之MultiQueryRetriever多查询检索全解析
  • 基于Hough变换的答题卡识别MATLAB之旅
  • 计算机小程序毕设实战-基于django+微信小程序的运动饮食健康生活系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • Day23-20260119
  • C# 实现 TCP/IP 客户端与服务器数据交互及与西门子 S7 - 200Smart 通讯
  • 2026大专计算机专业学数据分析的价值分析