站群推广,如何做好网络营销,seo优化是什么职位,网站维护都要做什么canal服务 canal介绍canal版本与环境canal 服务集canal应用场景#xff1a; canal常见问题xml配置问题连接认证问题jar版本问题连接问题 canal介绍 1、Canal是阿里巴巴开源的MySQL增量数据订阅和消费工具#xff0c;通过模拟MySQL的slave与master交互#xff0c;捕… canal服务 canal介绍canal版本与环境canal 服务集canal应用场景 canal常见问题xml配置问题连接认证问题jar版本问题连接问题 canal介绍 1、Canal是阿里巴巴开源的MySQL增量数据订阅和消费工具通过模拟MySQL的slave与master交互捕获binary log事件。 2、Canal的实现基于MySQL的主从复制原理通过模拟slave的交互协议向master发送dump请求master收到请求后开始推送binary log给slave实际上是CanalCanal解析这些日志事件并将其转换为JSON格式的数据然后发送到指定的存储目的地如MySQL、Kafka、Elastic Search等。 3、Canal支持HA高可用其实现机制依赖Zookeeper来实现。 4、Canal可以适应不同的网络环境包括云环境和本地环境支持多种网络模型如虚拟局域网(VLAN)、VXLAN、Overlay等并且可以与各种网络设备和云服务提供商进行集成。 canal版本与环境 单机版适用于开发测试环境或小型生产环境。 配置简单易于部署和管理。 HA版本 适合生产环境特别是对数据一致性和系统稳定性有高要求的场景。 可以配置多个 Canal 实例实现故障转移和负载均衡。 需要更复杂的配置和管理以确保高可用性 Canal 版本与 JDK 版本的兼容性 canal安装包 canalv1.1.5版本以上就不支持jdk1.8需要升级到jdk11 canal 服务集
canal.adapter Canal Adapter 是 Canal 项目的一个重要组成部分它负责将 Canal Server 采集的 MySQL binlog 数据转换成特定格式并发送到不同的目标系统。 canal.admin Canal Admin 是 Canal 项目的一个管理工具它提供了一个 Web 界面用于监控和管理 Canal 的各个组件。 canal.deployer Canal Deployer 是 Canal 项目中的一个模块它主要用于部署和管理 Canal Server。通过 Canal Deployer用户可以方便地启动、停止 Canal Server并配置相关的参数。 canal.example Canal Example 是 Canal 项目中的一个示例目录它包含了 Canal 的基本使用案例和配置示例。 canal应用
场景 1、增量同步 默认是增量方式 直接查看deployer服务下的instance.properties文件 2、全量同步 修改deployer服务下的instance.properties文件 binlog文件 canal.instance.master.journal.namebinlog文件全名称 canal.instance.master.position0 canal.instance.master.timestamp10位时间戳 删除服务端的meta.dat文件:这个文件记录 canal 已经消费的位置等信息 3、中间件集成同步 修改instance.properties文件 kafka 部署 Zookeeper 和 Kafka canal.properties配置文件 ####tcp, kafka, rocketMQ, rabbitMQ canal.serverMode kafka ################################################## ######### Kafka ############# ################################################## kafka.bootstrap.servers 127.0.0.1:9092 多个逗号隔开 kafka.acks all kafka.compression.type none kafka.batch.size 16384 kafka.linger.ms 1 kafka.max.request.size 1048576 kafka.buffer.memory 33554432 kafka.max.in.flight.requests.per.connection 1 kafka.retries 0 kafka.kerberos.enable false kafka.kerberos.krb5.file “…/conf/kerberos/krb5.conf” kafka.kerberos.jaas.file “…/conf/kerberos/jaas.conf” rocketmq 安装 RocketMQ canal.properties配置文件 tcp, kafka, rocketMQ, rabbitMQ canal.serverMode rocketMQ ################################################## ######### RocketMQ ############# ################################################## rocketmq.producer.group test rocketmq.enable.message.trace false rocketmq.customized.trace.topic rocketmq.namespace rocketmq.namesrv.addr 127.0.0.1:9876 rocketmq.retry.times.when.send.failed 0 rocketmq.vip.channel.enabled false rocketmq.tag 修改instance.properties文件 #mq config canal.mq.topiccanal_topic canal常见问题
xml配置问题 Error creating bean with name ‘metaHistoryDAO’ defined in class path resource [spring/tsdb/h2-tsdb.xml] 去掉canal.properties配置文件中的h2配置 连接认证问题 com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Public Key Retrieval is not allowed 修改 MySQL 数据库连接字符串 URL在末尾追加 “?allowPublicKeyRetrievaltrue” 参数 jar版本问题 Mysql连接jar版本 mysql-connector-java-5.1.48.jar 切换成mysql-connector-java-8.0.28.jar 连接问题 Communications link failure。The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 解决 数据库连接地址allowPublicKeyRetrievaltrueuseUnicodetruecharacterEncodingutf8useSSLfalsetinyInt1isBittrueserverTimezoneAsia/ShanghaiallowMultiQueriestruerewriteBatchedStatementstrue