简体   繁体   English

无法在 kafka connect docker 映像中运行 kafka connect datagen

[英]Unable to run kafka connect datagen inside kafka connect docker image

I am trying to run kafka datagen connector inside kafka-connect container and my kafka resides in AWS MSK using: https://github.com/confluentinc/kafka-connect-datagen/blob/master/Dockerfile-confluenthub .我正在尝试在 kafka-connect 容器中运行 kafka datagen 连接器,并且我的 kafka 使用以下命令驻留在 AWS MSK 中: https://github.com/confluentinc/kafka-connect-datagen/blob/master/Dockerfile-confluenthub

I am using kafdrop as a web browser for kafka broker (MSK).我正在使用 kafdrop 作为 kafka 代理(MSK)的 web 浏览器。 I don't see Kafka datagen generating any test messages.我没有看到 Kafka 数据生成生成任何测试消息。 Is there anything other configuration I need to do except installing the kafka-datagen connector除了安装 kafka-datagen 连接器外,我还需要做其他配置吗

Also, how can I check inside confluentinc/kafka-connect image what topics are created and whether messages are consumed or not?另外,如何在 confluentinc/kafka-connect 图像中检查创建了哪些主题以及是否使用了消息?

Dockerfile looks like: 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: Docker 日志:

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

I just added in the dockerfile and ran RUN confluent-hub install --no-prompt confluentinc/kafka-connect-datagen:0.4.0 inside the dockerfile.我刚刚添加了 dockerfile 并在 dockerfile 中运行 RUN confluent-hub install --no-prompt confluentinc/kafka-connect-datagen:0.4.0。 Nothing else.没有其他的。 No error logs.没有错误日志。

That alone doesn't run the connector, only makes it available to the Connect API.仅此一项并不能运行连接器,仅使其可用于 Connect API。 Notice the curl example in the docs https://github.com/confluentinc/kafka-connect-datagen#run-connector-in-docker-compose请注意文档https://github.com/confluentinc/kafka-connect-datagen#run-connector-in-docker-compose中的 curl 示例

So, expose port 8083 and make the request to add the connector, and make sure to add all the relevant environment variables when you're running the container因此,公开端口 8083 并请求添加连接器,并确保在运行容器时添加所有相关的环境变量

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM