【发布时间】:2022-01-12 20:35:07
【问题描述】:
我正在使用我找到的这个 Github 存储库和文件夹路径:https://github.com/entechlog/kafka-examples/tree/master/kafka-connect-standalone 以独立模式在本地运行 Kafka 连接。我对 Docker compose 文件进行了一些更改,但主要是与身份验证有关的更改。
我现在遇到的问题是,当我运行 Docker 映像时,对于每个分区(有 10 个,0 到 9),我多次收到此错误:
[2021-12-07 19:03:04,485] INFO [bq-sink-connector|task-0] [Consumer clientId=connector- consumer-bq-sink-connector-0, groupId=connect-bq-sink-connector] Found no committed offset for partition <topic name here>-<partition number here> (org.apache.kafka.clients.consumer.internals.ConsumerCoordinator:1362)
我认为验证或连接到端点没有任何问题,我认为消费者(连接接收器)没有发回偏移量。
我是否缺少环境变量?你会看到这个 docker compose 文件有CONNECT_OFFSET_STORAGE_FILE_FILENAME: /tmp/connect.offsets,我尝试添加CONNECTOR_OFFSET_STORAGE_FILE_FILENAME: /tmp/connect.offsets(CONNECT_ vs. CONNECTOR_)然后我得到一个错误Failed authentication with <Kafka endpoint here>,所以现在我只是在绕圈子。
【问题讨论】:
-
独立模式只能使用本地偏移文件。阅读此docs.confluent.io/home/connect/userguide.html#standalone-mode。
local表示不在 kafka 经纪人的话题上。 ANDINFO不是错误。 -
@J.Song 我知道它使用本地偏移文件。所以对我来说,没有提交的偏移量是有道理的,因为它是一个“空”的本地临时文件。那么如果没有提交的偏移量,我该如何开始消费主题呢?如果从来没有最后一个已知的偏移量,如何以独立模式运行以进行测试?不过我不确定我是否理解你的最后一句话。
-
如前所述,我认为没有理由在运行分布式模式的现有 Confluent 容器上使用这个特定容器。为什么你不想使用它们?
-
关于您提到的错误,
CONNECTOR_适用于 connector 独立属性文件(BQ Sink)。CONNECT_用于 worker(offset.storage.file.name属性实际上存在) -
@OneCricketeer 我仍在学习很多关于 Kafka 及其工作原理的知识,我确实了解独立与分布式,但我了解独立对于本地测试非常有用,这就是我正在做的。我正在运行 POC,我必须在这里学习。您能否指出一些易于在 Docker 中运行的开箱即用的东西,我可以使用 AWS MSK IAM 身份验证进行配置,允许我在本地机器上运行以便进行测试,并且可以与 wepay BigQuery 连接器一起使用已经创建了?我想比较一下不同之处,以便我能完全理解。
标签: docker apache-kafka docker-compose apache-kafka-connect