【发布时间】:2021-04-30 06:25:14
【问题描述】:
我已经使用 kafka-connect 图像confluentinc/cp-kafka-connect 有一段时间了。根据 Confluent 文档,这个 docker 镜像带有预安装的连接器插件,包括 Elastic。
我之前一直在使用 5.4.1-ccs 版本,它工作得很好,我可以添加 Elastic sink 连接器配置,它们工作得很好。但是我尝试将confluentinc/cp-kafka-connect 更新为最新的v6.0.1,现在我得到了错误。
ConnectException: Failed to find any class that implements Connector and which name matches ElasticsearchSinkConnector
我已经阅读了 Confluent 网站上的大量文档,但内容有点零星。我知道问题是插件未安装,因为它们要么从新的 docker 映像中删除,要么路径错误(不确定是哪一个)。
我该如何解决这个问题? (注意:我也编写了自己的 java 插件,所以两者都需要工作)
这是我目前的docker-compose 文件(同样,这适用于版本5.4.1-ccs)
kafka-connect-node-1:
image: confluentinc/cp-kafka-connect:5.4.1 #using old version because of breaking change
hostname: kafka-connect-node-1
ports:
- '8083:8083'
environment:
CONNECT_BOOTSTRAP_SERVERS: [MY_SERVER]
CONNECT_REST_PORT: 8083
CONNECT_GROUP_ID: compose-connect-group
CONNECT_CONFIG_STORAGE_TOPIC: connect-configs
CONNECT_OFFSET_STORAGE_TOPIC: connect-offsets
CONNECT_STATUS_STORAGE_TOPIC: connect-status
CONNECT_KEY_CONVERTER: io.confluent.connect.avro.AvroConverter
CONNECT_KEY_CONVERTER_SCHEMA_REGISTRY_URL: 'http://kafka-schema-registry:8084'
CONNECT_VALUE_CONVERTER: io.confluent.connect.avro.AvroConverter
CONNECT_VALUE_CONVERTER_SCHEMA_REGISTRY_URL: 'http://kafka-schema-registry:8084'
CONNECT_INTERNAL_KEY_CONVERTER: 'org.apache.kafka.connect.json.JsonConverter'
CONNECT_INTERNAL_VALUE_CONVERTER: 'org.apache.kafka.connect.json.JsonConverter'
CONNECT_REST_ADVERTISED_HOST_NAME: 'kafka-connect-node-1'
CONNECT_LOG4J_ROOT_LOGLEVEL: 'INFO'
CONNECT_LOG4J_LOGGERS: 'org.apache.kafka.connect.runtime.rest=WARN,org.reflections=ERROR'
CONNECT_PLUGIN_PATH: '/usr/share/java,/etc/kafka-connect/jars'
CONNECT_ZOOKEEPER_CONNECT: [MY_ZOOKEEPER]
volumes:
- /efs/connector:/etc/kafka-connect/jars/ # mounting my custom JAR
depends_on:
- kafka-schema-registry
- kafka-rest-proxy
【问题讨论】:
标签: docker apache-kafka apache-kafka-connect confluent-platform