前言
之前我们已经测试过逻辑解码插件wal2json,今天我们将尝试把逻辑解码的数据输出到 kafka中,以供其他应用的订阅使用。
安装Kafka Connect环境
Kafka Connect环境有两个模式,一个是独立安装模式,另一个是分布式安装模式。在本地开发和测试 Kafka Connect时,独立模式非常方便l还可以将其用于单一代理环境(如向 Kafka发送 web服务器日志)。而分布式模式需要在多个节点上运行Connect worker,然后形成一个集群。Kafka Connect将运行中的连接器分布在整个群集中,可以根据需要添加更多节点或删除节点。
由于我们只做简单的测试,这里选择了独立安装模式。
1. 安装Kafka软件
下载 Kafka软件包(这里选择的是2.70版本),然后解压到指定的目录。
wget -c https://mirror.bit.edu.cn/apache/kafka/2.7.0/kafka_2.13-2.7.0.tgz
[root@centos8 ~]# tar xzf kafka_2.13-2.7.0.tgz -C /opt
2.安装连接器
在安装之前,我们需要配置 Kafka Connect worker插件路径,配置文件位于 Kafka安装目录的 config下。connect-standalone.properties
文件是独立安装模式需要修改的文件,connect-distributed.properties
文件是分布式安装模式需要修改的文件。此处修改connect-standalone.properties
文件,指定最后一行plugin.path中的插件目录。
vi /opt/kafka_2.13-2.7.0/config/connect-standalone.properties
plugin.path=/usr/local/share/kafka/plugins
如图所示:
![image-20210105165314710](C:\Users\\AppData\Roaming\typora-user-images\image-20210105165314710.png)
在配置完之后,还要创建目录。
[root@centos8 ~]# mkdir -p /usr/local/share/kafka/plugins
下一步是下载 Debezium提供的 Postgres Connector,然后解压到插件目录。
wget -c https://repo1.maven.org/maven2/io/debezium/debezium-connector-postgres/1.3.1.Final/debezium-connector-postgres-1.3.1.Final-plugin.tar.gz
3.配置连接器
完成以上配置后,需要对连接器进行配置。对于独立模式,只需在文件中定义,然后通过命令行传递到Connect进程。而对于分布式模式,需要使用 REST API来管理在分布式模式下在worker上运行的连接器。具体可参考文档(https://docs.confluent.io/home/connect/configuring.html)