Debezium MySQL 同步到kafka

支持的jar包文件下载:
https://repo1.maven.org/maven2/io/debezium/debezium-connector-mysql/0.9.3.Final/debezium-connector-mysql-0.9.3.Final-plugin.tar.gz

https://repo1.maven.org/maven2/io/debezium/debezium-connector-postgres/0.9.3.Final/debezium-connector-postgres-0.9.3.Final-plugin.tar.gz

https://repo1.maven.org/maven2/io/debezium/debezium-connector-mongodb/0.9.3.Final/debezium-connector-mongodb-0.9.3.Final-plugin.tar.gz

https://repo1.maven.org/maven2/io/debezium/debezium-connector-oracle/0.9.3.Final/debezium-connector-oracle-0.9.3.Final-plugin.tar.gz

https://repo1.maven.org/maven2/io/debezium/debezium-connector-sqlserver/0.9.3.Final/debezium-connector-sqlserver-0.9.3.Final-plugin.tar.gz



--MySQL源库的设置:
# cat /etc/my.cnf
[mysqld]
default-storage-engine          =InnoDB
character_set_server            = utf8mb4
character-set-client-handshake    = FALSE
character-set-server            = utf8mb4
collation-server                = utf8mb4_unicode_ci
init_connect                    ='SET NAMES utf8mb4'
lower_case_table_names        = 1
symbolic-links=0
#skip-grant-tables 
plugin-load=validate_password.so 
validate-password=OFF
explicit_defaults_for_timestamp=true
 
server-id                     =100
#log-bin                       =/data/mysql/mysql_bin.log
log-bin                       =mysql_bin.log
binlog_format                 =ROW
expire-logs-days              =2


--启动kafka:

--配置mysql:
#vim mysql.properties
name=mysql
connector.class=io.debezium.connector.mysql.MySqlConnector
database.hostname=10.19.166.249
database.port=3306
database.user=root
database.password=xyzxyz
database.server.id=100
database.server.name=test  
database.whitelist=orders,users  
database.history.kafka.bootstrap.servers=10.19.166.249:9092
database.history.kafka.topic=history.test
include.schema.changes=true
include.query=true
# options: adaptive_time_microseconds(default)adaptive(deprecated) connect()
time.precision.mode=connect
# options: precise(default) double string
decimal.handling.mode=string
# options: long(default) precise
bigint.unsigned.handling.mode=long

-- 配置启动:
connect-standalone.sh connect-standalone.properties mysql.properties &
--查看进程:
 kafka-topics.sh --list --zookeeper 10.19.166.249:2181
--查看topic:
--查看topic的内容:新版本的已经不识别--zookeeper:2181命令需要使用--bootstrap-server:9092替换掉
 kafka-console-consumer.sh --bootstrap-server 10.19.166.249:9092 --topic test__.orders.orders --from-beginning
验证:
1.支持DML(insert\update\delete)
2.支持DDL(新增、删除字段)
3.支持decimal类型
4.支持datetime类型、timestamp类型:

5.支持多库多表
6.支持白名单黑名单

7.额外的信息:
--查看:
 #yum -y install curl jq oniguruma 
 --查看kafka的版本:
 curl -s 10.19.166.249:8083/ | jq
 {
  "version": "2.1.1",
  "commit": "21234bee31165527",
  "kafka_cluster_id": "OKPNpgoBTMq08LW9Djl8jQ"
}
 --查看kafka的plugin:
 curl -s 10.19.166.249:8083/connector-plugins | jq
 [
  {
    "class": "io.confluent.connect.cdc.mssql.MsSqlSourceConnector",
    "type": "source",
    "version": "0.0.1.9"
  },
  {
    "class": "io.debezium.connector.mongodb.MongoDbConnector",
    "type": "source",
    "version": "0.9.3.Final"
  },
  {
    "class": "io.debezium.connector.mysql.MySqlConnector",
    "type": "source",
    "version": "0.9.3.Final"
  },
  {
    "class": "io.debezium.connector.sqlserver.SqlServerConnector",
    "type": "source",
    "version": "0.9.3.Final"
  },
  {
    "class": "org.apache.kafka.connect.file.FileStreamSinkConnector",
    "type": "sink",
    "version": "2.1.1"
  },
  {
    "class": "org.apache.kafka.connect.file.FileStreamSourceConnector",
    "type": "source",
    "version": "2.1.1"
  }
]
列出当前运行的connector(task)
 curl -s 10.19.166.249:8083/connectors | jq
 [
  "mysql"
]

文件参考:
https://debezium.io/docs/install/
https://debezium.io/docs/connectors/mysql/

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值