首页 > 解决方案 > 如何在 Kafka 中启动连接器时克服 IllegalAccessError

问题描述

我正在为 Kafka Connect 编写一个连接器。我在连接器启动期间看到的错误是

java.lang.IllegalAccessError: tried to access field org.apache.kafka.common.config.ConfigTransformer.DEFAULT_PATTERN from class org.apache.kafka.connect.runtime.AbstractHerder 

该错误似乎发生在https://github.com/apache/kafka/blob/trunk/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/AbstractHerder.java#L449

我需要DEFAULT.PATTERN手动设置吗?这是不是默认设置的。

我正在使用 docker 镜像 confluentinc/cp-kafka:5.0.1。我在连接器应用程序中使用的 connect-api 版本是 org.apache.kafka:connect-api:2.0.0。我在 Kubernetes 中运行我的设置。

标签: apache-kafkaapache-kafka-connect

解决方案


当我将图像更改为 confluentinc/cp-kafka:5.0.0-2 时,问题得到解决。

在发布问题之前,我已经尝试过此选项,但 pod 处于 Pending 状态并且拒绝启动。我认为这可能是图像的问题。后来做了一些研究,我才知道有时 Kubernetes 无法分配足够的资源,因此 Pod 可以保持在 Pending 状态。

我尝试了图像 confluentinc/cp-kafka:5.0.0-2 并且效果很好。


推荐阅读