返回

手把手教你用Debuzium Docker Compose 安装捕捉数据库变更

后端

通过 Debuzium 捕捉数据库变更:了解如何捕获数据库变更

准备工作

在开始捕捉数据库变更之前,你需要确保已经准备了一些必备条件。首先,你需要安装 Docker Compose,这将帮助你轻松管理和运行 Docker 容器。接下来,你需要安装 Kafka,一个分布式流处理平台,用于处理和存储捕获的变更数据。最后,你还需要安装 Debuzium,一个开源项目,专门用于从各种数据库捕获变更。

安装 Docker Compose

要安装 Docker Compose,请运行以下命令:

curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

安装 Kafka

要安装 Kafka,请运行以下命令:

docker-compose up -d kafka zookeeper

安装 Debuzium

要安装 Debuzium,请运行以下命令:

git clone https://github.com/confluentinc/kafka-connect-jdbc.git
cd kafka-connect-jdbc
git checkout tag-v1.9.1
docker-compose up -d connect

配置 Debuzium

现在你已经安装了所有必要的组件,是时候配置 Debuzium 了。转到 Docker Compose 的命令行界面,然后运行以下命令:

docker-compose exec connect bash
cd /usr/share/confluent-hub-components/confluentinc/kafka-connect-jdbc/1.9.1/config

接下来,使用 nano 或你喜欢的文本编辑器编辑文件 connect-jdbc-source.properties

添加以下内容:

name=example-source-connector
connector.class=io.confluent.connect.jdbc.JdbcSourceConnector
tasks.max=1
connection.url=jdbc:mysql://localhost:3306/test
connection.user=root
connection.password=password
table.whitelist=customers
mode=timestamp
timestamp.column.name=updated_at

保存并退出

现在你的 Debuzium 连接器已经配置好,可以开始捕获变更数据了。

启动连接器

要启动连接器,请运行以下命令:

curl -X POST http://localhost:8083/connectors -H "Content-Type: application/json" -d @connect-jdbc-source.properties

验证连接器

要验证连接器是否正在运行,请运行以下命令:

curl http://localhost:8083/connectors/example-source-connector/status

使用 Debuzium

现在你的连接器正在运行,你可以使用以下命令查看捕获的变更:

docker-compose logs connect

常见问题解答

1. 如何配置 Debuzium 以捕获来自不同数据库的变更?

Debuzium 支持多种数据库,包括 MySQL、PostgreSQL 和 Oracle。要配置 Debuzium 以从不同数据库捕获变更,你需要修改 connect-jdbc-source.properties 文件中的 connection.urlconnection.userconnection.password 属性。

2. 如何使用 Debuzium 过滤要捕获的变更?

你可以通过编辑 connect-jdbc-source.properties 文件中的 table.whitelisttable.blacklist 属性来过滤要捕获的变更。

3. 如何使用 Debuzium 将变更数据存储到 Kafka?

默认情况下,Debuzium 将捕获的变更数据存储到 Kafka。你可以通过编辑 connect-jdbc-source.properties 文件中的 topic.prefix 属性来配置 Kafka 主题的名称。

4. 如何配置 Debuzium 以使用 SSL 连接到数据库?

要配置 Debuzium 以使用 SSL 连接到数据库,你需要编辑 connect-jdbc-source.properties 文件中的 ssl.keystore.locationssl.keystore.passwordssl.key.passwordssl.truststore.location 属性。

5. 如何配置 Debuzium 以捕获来自表中的所有变更?

要配置 Debuzium 以捕获来自表中的所有变更,你需要在 connect-jdbc-source.properties 文件中的 table.whitelist 属性中使用 * 通配符。