生产环境实践:Cana实现MySQL到ES实时同步


注:Canal必备基础及安装部署,详看完整文档,以下直接摘取干货分享。

实现MySQL-->Canal-Server(Instance)--->ClientAdapter--->ES同步流程

所涉及组件的关系(如下)

相关组件的作用

准备业务库表

在MySQL中创建test库及test表作为业务库表,我们最终就是要同步test.test表的数据到ES:

执行如下MySQL命令:

配置Instance

前面安装了Canal_Server,接下来需要给Canal_Server创建Instance来拉取MySQL的binlog。
1、登录Canal_Admin

2、进入Instance管理页

3、新建Instance
点击新建Instance就会进入新建Instance配置页面:

4、载入Instance模板
Instance配置不需要从零开始写,先载入模板即可,如下图:

5、配置Instance

6、Instance命名

7、保存Instance

保存之后,就自动显示在Instance列表页了:

8、自动启动Instance
刷新Instance列表页,过一会就已经变成启动状态了:

至此,MySQL的binlog数据就可以被Canal-Server拉取到了。

原文地址:https://blog.51cto.com/13735753/2475708

时间: 2024-10-20 13:51:28

生产环境实践:Cana实现MySQL到ES实时同步的相关文章

生产环境使用 pt-table-checksum 检查MySQL数据一致性

公司数据中心从托管机房迁移到阿里云,需要对mysql迁移(Replication)后的数据一致性进行校验,但又不能对生产环境使用造成影响,pt-table-checksum 成为了绝佳也是唯一的检查工具. pt-table-checksum 是 Percona-Toolkit 的组件之一,用于检测MySQL主.从库的数据是否一致.其原理是在主库执行基于statement的sql语句来生成主库数据块的checksum,把相同的sql语句传递到从库执行,并在从库上计算相同数据块的checksum,最

logstash-input-jdbc实现mysql 与elasticsearch实时同步深入详解

elasticsearch 的出现使得我们的存储.检索数据更快捷.方便.但很多情况下,我们的需求是:现在的数据存储在MySQL.Oracle等关系型传统数据库中,如何尽量不改变原有数据库表结构,将这些数据的insert,update,delete操作结果实时同步到elasticsearch(简称ES)呢? 本文基于以上需求点展开实战讨论. 1.对delete操作的实时同步泼冷水 到目前为止,所有google,stackoverflow,elastic.co,github上面搜索的插件和实时同步的

基于centos7.3 redhat7.3安装LAMP(php7.0 php7.1)生产环境实践

#将yum安装的包缓冲到本地,然后制作本地local_yum vim /etc/yum.conf #本机信息 hostname LAMP ip 192.168.42.10 #由于官网yum源下载慢,这里添加ali源 yum clean all rm -rf /etc/yum.repos.d/*.repo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo wget -O /e

生产环境实践Mysql5.7主从+Atlas实现读写分离

Mysql主从搭建 主从复制可以使MySQL数据库主服务器的主数据库,复制到一个或多个MySQL从服务器从数据库,默认情况下,复制异步; 根据配置,可以复制数据库中的所有数据库,选定的数据库或甚至选定的表.MySQL的工作方式是单进程多线程的方式,那么线程的多寡则会极大的影响到MySQL的效率,而在早期MySQL的主从都是由单线程进行的,使得主从复制除了相关的客观因素外还受到自身的影响:为此在MySQL的5.7版本中对多线程主从复制来进一步的改善,在MySQL 5.7中是按照逻辑时钟(类似CPU

NFSv3 NFSv3针对防火墙端口开通策略 生产环境实践

针对NFSv4版本需要服务官方说明: NFS version 4 (NFSv4) works throughfirewalls and on the Internet, no longer requires an rpcbind service, supportsACLs, and utilizes stateful operations. Red Hat Enterprise Linux 6 supportsNFSv2, NFSv3, and NFSv4 clients. When mount

mongodb复制集+分片生产环境实践

三台机器操作系统环境如下: [[email protected] ~]$ cat /etc/issue Red Hat Enterprise Linux Server release 6.6 (Santiago) Kernel \r on an \m [[email protected] ~]$ uname -r 2.6.32-504.el6.x86_64 [[email protected] ~]$ uname -m x86_64 架构如下图: 文字描述:                  

生产环境实践:redis高可用架设

经过测试,当主redis停掉的时候,可以5秒钟内切换到从redis,反之切换到主,也是一样的时间. 在A服务器(192.168.16.29),B服务器(192.168.16.2)上均安装redis,keepalived. A作为默认的master,B作为slave(在redis的配置文件中加上 SLAVEOF 192.168.16.29 6379)即可. A,B上的Redis均开启本地化策略,appendonly yes. Master 192.168.16.29 Slave 192.168.1

[生产库实战] 如何使用触发器对生产库上亿级大表进行实时同步

触发器迁移数据和MV的原理相同,通过在源表创建Trigger,记录源表的DML操作日志,然后通过存储过程同步DML受影响的记录,达到目标表和源表数据一致的效果.此方法只是对Prebuilt MV操作的一个补充.物化视图/在线重定义对DML频繁的大表进行处理时,存在一个弊端,主要是在全量初始化这个步骤上,比如: 本应该多块扫描,直接路径读效率很高的,但由于个别数据块在内存造成单块读; 或由于DML操作相对频繁,可能读到的数据需要与undo构造一致性读数据块的几率也较高,此时查看等待事件都是采用单块

生产环境容器落地最佳实践 - JFrog 内部K8s落地旅程

引言 Kubernetes已经成为市场上事实上领先的编配工具,不仅对技术公司如此,对所有公司都是如此,因为它允许您快速且可预测地部署应用程序.动态地伸缩应用程序.无缝地推出新特性,同时有效地利用硬件资源. 本期我们将回顾采用Kubernetes作为容器编排工具的公司所面临的复杂性和挑战.我们希望我们提供的经验教训.最佳实践和技巧将帮助您在前往K8s旅途中起步并继续前进. 本期将介绍关于在Kubernetes生产环境的最佳实践,包括:: 为上K8s容器云准备好应用程序 在Kubernetes中获得