TiDB 集成 Confluent Platform 快速上手指南
Confluent Platform 是一个以 Apache Kafka 为核心的流数据处理平台,可以借助官方或第三方的 sink connector 将数据源连接到关系型或非关系型数据库。
你可以使用 TiCDC 组件和 Avro 协议来集成 TiDB 和 Confluent Platform。TiCDC 能将数据更改以 Confluent Platform 能识别的格式流式传输到 Kafka。下文详细介绍了集成的操作步骤。
确保 Zookeeper、Kafka 和 Schema Registry 已正确安装。推荐参照 部署本地测试环境。
将下方的配置样例保存为
jdbc-sink-connector.json
文件:{
"name": "jdbc-sink-connector",
"config": {
"connector.class": "io.confluent.connect.jdbc.JdbcSinkConnector",
"tasks.max": "1",
"connection.url": "sqlite:test.db",
"connection.ds.pool.size": 5,
"auto.create": true,
"auto.evolve": true
}
}
运行下方命令新建一个 JDBC sink connector 实例(假设 Kafka 监听的 IP 地址与端口是
127.0.0.1:8083
):通过以下任一方式部署 TiCDC。如果已经部署了 TiCDC,可以跳过这一步。
运行下面的
cdc cli
命令,新建一个同步任务changefeed
:./cdc cli changefeed create --pd="http://127.0.0.1:2379" --sink-uri="kafka://127.0.0.1:9092/testdb_test?protocol=avro" --opts "registry=http://127.0.0.1:8081"
TiDB 与 Confluent Platform 成功集成后,你可以按照以下步骤来测试数据同步功能。
在 TiDB 集群中新建
testdb
数据库:在 数据库中创建
test
数据表:USE testdb;
CREATE TABLE test (
id INT PRIMARY KEY,
v TEXT
);
向
test
数据表中插入数据:等待数据被同步到下游数据库中,并检查下游的数据: