使用debezium/connect Docker镜像时未创建主题



使用debezium/connect-Docker映像时,不会为我的表创建Kafka主题。以下是我如何启动容器:

docker run -it --rm --name debezium -p 8083:8083 -e GROUP_ID=1 -e CONFIG_STORAGE_TOPIC=my-connect-configs 
-e OFFSET_STORAGE_TOPIC=my-connect-offsets  -e BOOTSTRAP_SERVERS=192.168.56.1:9092 
-e CONNECT_NAME=my-connector -e CONNECT_CONNECTOR_CLASS=io.debezium.connector.postgresql.PostgresConnector 
-e CONNECT_TOPIC_PREFIX=my-prefix -e CONNECT_DATABASE_HOSTNAME=host.docker.internal -e CONNECT_DATABASE_PORT=5432 
-e CONNECT_DATABASE_USER=postgres -e CONNECT_DATABASE_PASSWORD=root -e DATABASE_SERVER_NAME=mydb 
-e CONNECT_DATABASE_DBNAME=mydb -e CONNECT_TABLE_INCLUDE_LIST=myschema.my_table -e CONNECT_PLUGIN_NAME=pgoutput 
debezium/connect

我尝试过使用CONNECT__而不是CONNECT_,但我得到了相同的结果。如果我使用API:,则不会创建表的主题

curl -H 'Content-Type: application/json' 127.0.0.1:8083/connectors --data '
{
"name": "prism",  
"config": {
"connector.class": "io.debezium.connector.postgresql.PostgresConnector", 
"topic.prefix": my-connector",
"database.hostname": "host.docker.internal", 
"database.port": "5432", 
"database.user": "postgres", 
"database.password": "root", 
"database.server.name": "mydb", 
"database.dbname" : "mydb", 
"table.include.list": "myschema.my_table",
"plugin.name": "pgoutput"
}
}'

创建由CONFIG_STORAGE_TOPICOFFSET_STORAGE_TOPIC指定的主题my-connect-configsmy-connect-offsets

http://localhost:8083/connectors/my-connector/status显示:

{"name":"my-connector","connector":{"state":"RUNNING","worker_id":"172.17.0.3:8083"},"tasks":[{"id":0,"state":"RUNNING","worker_id":"172.17.0.3:8083"}],"type":"source"}

根据这个问题,我可以在使用bin/connect-standalone.sh而不是Docker映像时创建一个主题。

自动主题创建已启用,我在日志中没有看到任何错误/警告。

  1. 检查kafka连接容器日志,当它试图将数据插入kafka集群时,会显示什么消息
  2. 您需要在kafkabroker配置中启用自动主题创建,请签出此文档
  3. 请确保数据库中存在表,并且"table.include.list": "myschema.my_table",是正确的。为了进行实验,您可以临时删除此配置

您可以使用redpanda团队创建的UI平台来管理主题、代理和kafka连接配置-此处

问题是底层表没有任何数据,因此没有创建主题。如果在连接器启动时表中有数据,或者在连接器运行时添加了行,则会创建该主题。

相关内容

  • 没有找到相关文章

最新更新