首页 > 解决方案 > 无法在 kafka connect docker 映像中运行 kafka connect datagen

问题描述

我正在尝试在 kafka-connect 容器中运行 kafka datagen 连接器,并且我的 kafka 使用以下方式驻留在 AWS MSK 中:https ://github.com/confluentinc/kafka-connect-datagen/blob/master/Dockerfile-confluenthub 。

我使用 kafdrop 作为 kafka 代理 (MSK) 的网络浏览器。我没有看到 Kafka 数据生成生成任何测试消息。除了安装 kafka-datagen 连接器外,我还需要做其他配置吗

另外,如何在 confluentinc/kafka-connect 图像中检查创建了哪些主题以及是否使用了消息?

Dockerfile 看起来像:


ARG BASE_PREFIX=confluentinc 
ARG CONNECT_IMAGE=cp-kafka-connect

FROM $BASE_PREFIX/$CONNECT_IMAGE:6.1.0

ENV CONNECT_PLUGIN_PATH="/usr/share/java,/usr/share/confluent-hub-components"

RUN confluent-hub install --no-prompt confluentinc/kafka-connect-datagen:0.4.0
docker exec 51e32e20b292 bash -c 'echo $CONNECT_PLUGIN_PATH'                                           
shows : /usr/share/java,/usr/share/confluent-hub-components
[appuser@88db8385b575 ~]$ ls -la /usr/share/confluent-hub-components/
total 20
drwxr-xr-x 1 appuser appuser 4096 Mar 26 21:19 .
drwxr-xr-x 1 root    root    4096 Feb  4 21:10 ..
drwxr-xr-x 6 appuser appuser 4096 Mar 26 18:00 confluentinc-kafka-connect-datagen
[appuser@88db8385b575 ~]$ ls -la /usr/share/confluent-hub-components/confluentinc-kafka-connect-datagen/
total 28
drwxr-xr-x 6 appuser appuser 4096 Mar 26 18:00 .
drwxr-xr-x 1 appuser appuser 4096 Mar 26 21:19 ..
drwxr-xr-x 2 appuser appuser 4096 Mar 26 18:00 assets
drwxr-xr-x 4 appuser appuser 4096 Mar 26 18:00 doc
drwxr-xr-x 2 appuser appuser 4096 Mar 26 18:00 etc
drwxr-xr-x 2 appuser appuser 4096 Mar 26 18:00 lib
-rw-r--r-- 1 appuser appuser 1380 Mar 26 18:00 manifest.json

码头工人日志:

docker logs 51e32e20b292 | grep "DatagenConnector"  
        
    "connector.class": "io.confluent.kafka.connect.datagen.DatagenConnector",
    "connector.class": "io.confluent.kafka.connect.datagen.DatagenConnector",

标签: dockerapache-kafkaapache-kafka-connect

解决方案


我刚刚添加了 dockerfile 并在 dockerfile 中运行了 RUN confluent-hub install --no-prompt confluentinc/kafka-connect-datagen:0.4.0 。没有其他的。没有错误日志。

仅此一项不会运行连接器,只会使其可用于 Connect API。注意文档中的 curl 示例 https://github.com/confluentinc/kafka-connect-datagen#run-connector-in-docker-compose

因此,公开端口 8083 并请求添加连接器,并确保在运行容器时添加所有相关的环境变量


推荐阅读