我想逃跑 Kafka-Connect
本地 docker-compose
. 就像我喜欢confluent产品和kafka一样,有时传递一些配置或找到一个一致的示例是一个巨大的任务。在我的docker compose文件中,我使用 6.0.0
的版本 broker
, zk
, sr
以及 kafka-connect
现在,但我也试过旧版本。
经纪人( confluentinc/cp-server:6.0.0
)失败原因:
信息[代理1上的管理员管理器]:处理创建主题请求creatabletopic(名称=“”\u confluent-license',numpartitions=1,replicationfactor=3,assignments=[],configs=[CreatableTopicConfig(名称='cleanup.policy',值='compact'),CreatableTopicConfig(名称='min.insync.replicas',值='2')],linkname=null,mirrortopic=null)(kafka.server.adminmanager)
我只是不知道怎么通过 confluent.topic.replication.factor
作为我工人的环境变量。我添加了两个:
CONNECT_CONFLUENT_TOPIC_REPLICATION_FACTOR: "1"
CONFLUENT_TOPIC_REPLICATION_FACTOR: "1"
……但他们都被忽视了。更重要的是,我甚至找不到 _confluent-license
任何地方的文件中都提到了 _confluent-command
.
我怎么可能让连接在本地工作呢 docker-compose
不设立3个经纪人?
2条答案
按热度按时间dfddblmv1#
正如onecricketeer所指出的,这个值必须在代理容器中设置,这也解释了为什么失败的是代理容器,而不是连接工人。这绝对有道理。代理不能因为配置错误而失败。
找到一个解决方案可能会让人更加困惑的是,env var和license topic replication factor的configuration属性没有遵循一个规则模式,其中env var是一个大写的配置属性,用下划线(和前缀,如果适用)替换点。实际上我们得到:
confluent.topic.replication.factor
->KAFKA_CONFLUENT_TOPIC_REPLICATION_FACTOR
v2g6jxz62#
代理失败了,因为该主题是从它创建的,所以您需要代理上的变量
否则,你想
cp-kafka
,不是cp-server