canal对接阿里云kafka
一、前提条件
已经有mysql实例 自建或者云上都可以
已经在阿里云的kakfa创建topic 默认不自动创建topic
二、配置要监控的instance
先修改example的配置文件 conf/example/instance.properties
#################################################
## mysql serverId , v1.0.26+ will autoGen
# canal.instance.mysql.slaveId=0
# enable gtid use true/false
canal.instance.gtidon=false
# position info
canal.instance.master.address={mysql地址加端口}
......
# username/password
canal.instance.dbUsername={{ 数据库用户名 }}
canal.instance.dbPassword={{ 数据库密码 }}
canal.instance.connectionCharset = UTF-8
# enable druid Decrypt database password
canal.instance.enableDruid=false
#canal.instance.pwdPublicKey=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALK4BUxdDltRRE5/zXpVEVPUgunvscYFtEip3pmLlhrWpacX7y7GCMo2/JM6LeHmiiNdH1FWgGCpUfircSwlWKUCAwEAAQ==
# table regex
canal.instance.filter.regex={{ 数据库正则匹配规则 }}
# table black regex
canal.instance.filter.black.regex=mysql\\.slave_.*
# mq config
canal.mq.topic={{ topic主题 需要提前到阿里云kafka创建 }}
# dynamic topic route by schema or table regex
canal.mq.dynamicTopic= {{ 主题规则 }}
三、修改canal的配置文件
canal.properties
#################################################
######### common argument #############
#################################################
# tcp bind ip
canal.ip =
# register ip to zookeeper
canal.register.ip =
canal.port = 11111
canal.metrics.pull.port = 11112
canal.serverMode = kafka {{ 重要 }}
。。。。。。
canal.destinations = {{ 文件夹名称 会去这个文件夹读取instance配置文件 }}
# conf root dir
canal.conf.dir = ../conf
# auto scan instance dir add/remove and start/stop instance
canal.auto.scan = true
canal.auto.scan.interval = 5
# set this value to 'true' means that when binlog pos not found, skip to latest.
# WARN: pls keep 'false' in production env, or if you know what you want.
canal.auto.reset.latest.pos.mode = false
canal.instance.tsdb.spring.xml = classpath:spring/tsdb/h2-tsdb.xml
#canal.instance.tsdb.spring.xml = classpath:spring/tsdb/mysql-tsdb.xml
canal.instance.global.mode = spring
canal.instance.global.lazy = false
canal.instance.global.manager.address = ${canal.admin.manager}
#canal.instance.global.spring.xml = classpath:spring/memory-instance.xml
canal.instance.global.spring.xml = classpath:spring/file-instance.xml
#canal.instance.global.spring.xml = classpath:spring/default-instance.xml
##################################################
######### MQ Properties #############
##################################################
# aliyun ak/sk , support rds/mq
canal.aliyun.accessKey =
canal.aliyun.secretKey =
canal.aliyun.uid=
canal.mq.flatMessage = true
canal.mq.canalBatchSize = 50
canal.mq.canalGetTimeout = 100
# Set this value to "cloud", if you want open message trace feature in aliyun.
canal.mq.accessChannel = local
canal.mq.database.hash = true
canal.mq.send.thread.size = 30
canal.mq.build.thread.size = 8
##################################################
######### Kafka #############
##################################################
kafka.bootstrap.servers = {{ kafka公网地址加端口 }}
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.ssl.truststore.location= ../conf/only.4096.client.truststore.jks {{ 重要}}
kafka.ssl.truststore.password= KafkaOnsClient {{ 重要}}
kafka.security.protocol= SASL_SSL {{ 重要}}
kafka.sasl.mechanism = PLAIN {{ 重要}}
kafka.ssl.endpoint.identification.algorithm = {{ 重要}}
##################################################
######### 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 =
##################################################
######### RabbitMQ #############
##################################################
rabbitmq.host =
rabbitmq.virtual.host =
rabbitmq.exchange =
rabbitmq.username =
rabbitmq.password =
rabbitmq.deliveryMode =
!!!阿里云的kafka要记得配置白名单
四、在conf文件夹创建kafka_client_producer_jaas.conf文件 用来存储阿里云kafka的用户名密码
内容为
KafkaClient {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="用户名"
password="密码";
};
然后修改bin/startup.sh启动脚本 在JAVA_OPTS里面添加-Djava.security.auth.login.config=/root/canal/conf/kafka_client_producer_jaas.conf
五、only.4096.client.truststore.jks文件上传到conf文件夹
六、启动canal 进bin目录
sh startup.sh
看下日志

七、修改规则中的数据库数据 触发canal 推送到阿里云kafka 测试没有问题
阿里云kafka文档: https://help.aliyun.com/document_detail/273086.html#table-r3w-zhj-i8v
canal对接阿里云kafka的更多相关文章
- golang对接阿里云私有Bucket上传图片、授权访问图片
golang对接阿里云私有Bucket上传图片.授权访问图片 1.为什么要设置私有bucket 公共读写:互联网上任何用户都可以对该 Bucket 内的文件进行访问,并且向该 Bucket 写入数据. ...
- 阿里云kafka使用记录(python版本)
kafka端 consumer vpc版代码 import socket from kafka import KafkaConsumer from kafka.errors import Ka ...
- 阿里云 IOT 对接设备开发 C# 开发设备对接阿里云 IOT平台
一,创建阿里云 IOT 产品.设备 目前阿里云每月赠送 100 万条流量,可以免费使用基础版.高级版,开通后即可免费使用. 阿里云 IOT 平台地址 https://iot.console.aliyu ...
- 【物联网云端对接-2】通过MQTT协议与阿里云物联网套件进行云端通信
在<程序员>杂志2017.4刊上,曾写过一篇<微软百度阿里三大物联网平台探析>,上面曾介绍了阿里云物联网套件的一些内容,在写该篇文章的时候,凌霄物联网网关还无法对接到此平台( ...
- 《ServerSuperIO Designer IDE使用教程》- 6.增加与阿里云物联网(IOT)对接服务,实现数据交互。发布:v4.2.4 版本
v4.2.4 更新内容:1.增加了对接阿里物联网平台的服务.下载地址:官方下载 6. 增加与阿里云物联网(IOT)对接服务,实现数据交互 6.1 概述 为了满足业务系统数据上云的要求,Se ...
- CRMEB小程序商城v4.0二次开发对接集成阿里云短信
作者:廖飞 - CRMEB小程序商城研发项目组长 前言 cremb小程序商城v4.0版本支持短信平台为云信,但有部分用户有需求对接阿里云短信,这篇文章将对阿里云短信平台如何对接方以及对接流程详细说明. ...
- 直击 KubeCon 2019 现场,阿里云 Hands-on Workshop 亮点回顾
2019 年 6 月 24 日,KubeCon + CloudNativeCon 第二次在中国举办.此次大会阿里共有 26 个技术演讲入选,并有两场沙龙活动,阿里云专家也与技术极客们也再次相聚.Kub ...
- 直击 KubeCon 现场 | 阿里云 Hands-on Workshop 亮点回顾
相关文章链接[合集]规模化落地云原生,阿里云亮相 KubeCon China沉淀九年,一文看清阿里云原生大事件 2019 年 6 月 24 日至 26 日,KubeCon + CloudNativeC ...
- 阿里云物联网平台体验(NetGadgeteer+C#篇)
目前对接阿里云物联网平台有多种软件和硬件,可以有多种不同语言来实现对接,比如c/c++,Java,JS,Python,C#等等,不过C#版本只有PC对接云平台的代码,嵌入式的目前还没有看到,所以本篇文 ...
- 阿里云物联网平台体验(树莓派+Python篇)
阿里云物联网平台体验(树莓派+Python篇) 虽然对阿里云物联网平台比较熟悉了,从一开始就有幸参与了飞凤平台(Link Develop 一站式开发平台的前身)的一些偏硬件接入的工作.但是同时也见证了 ...
随机推荐
- SQL Server数据库备份和还原
当需要将一台机器(源机器)上的一个数据库完全复制到另一台机器(目标机器)上时,可以选择先在源机器上备份该数据库,然后在目标机器上还原该备份的方法. 备份 打开SQL server management ...
- python读取、写入txt文本
1. 读取txt文本 1.1 read() 一次性读全部内容 一次性读取文本中全部的内容,以字符串的形式返回结果 with open("text.txt", "r& ...
- vue仿QQ聊天室|vue聊天实例,直播聊天室
图片压缩 百亿站点 基于vue2.0+vue-cli+vuex+vue-router+webpack+es6+wcPop等技术开发的仿微信聊天界面|仿微信聊天室vue-chatRoom,实现了微信聊天 ...
- [BOM]打包代码前,快速去除前端日志
一般开发时使用console.log() 方法.于是可以在js文件的最开头加上: console.log = function(){}
- 在element plus中使用checkbox 多选框实现大区省市区选择回选
1.产品拿来淘宝后台页面,希望我们的快递发货也用这一套 长这样: 2.后端说提供的数据是树形结构,大区id不要传,传省的id,勾选哪个传哪个 3.element ui的树形插件和级联选择器在数据上是 ...
- secureCRT设置配色方案
https://blog.csdn.net/qq_42672770/article/details/81301494
- *args、**kwargs参数组
'''def test(*args): # *agrs接收的是N个位置参数,不能接受关键字参数,转化成元祖 print(args)test(1,2,3,4,5,6)test(*[1,2,4,5,5]) ...
- vue后台管理系统——主页布局
电商后台管理系统的功能--页面的整体布局 1. 整体布局 整体布局:先上下划分,再左右划分. 需要使用到ElementUI中提供的Container组件 <el-container> &l ...
- windows安装kafka
1.软件下载 kafka运行需要有jdk+zookeeper环境才能够使用,官网下载 https://www.apache.org/dyn/closer.cgi/zookeeper/ http://k ...
- 操作系统|01.Windows
Windows基础 1.系统目录 1.1 C盘根目录 Data:Windows系统目录,放置程序的使用数据.设置等文件. MyDrivers:驱动程序文件夹. PerfLogs:日志文件夹. Prog ...