如何解决有关许可证主题的Kafka Connect复制因子
我正在尝试使用Kafka-Connect
在本地运行docker-compose
。正如我喜欢Confluent产品和Kafka一样,有时要通过一些配置或找到一个一致的示例是一个巨大的追求。
在我的docker-compose文件中,我现在针对6.0.0
,broker
,zk
和sr
使用kafka-connect
个版本,但是我尝试了版本。
代理(confluentinc/cp-server:6.0.0
)失败,并显示以下信息:
INFO [Broker 1上的管理员]:处理创建主题时出错 请求CreatableTopic(name ='_ confluent-license',numPartitions = 1, 复制因子= 3,分配= [], configs = [CreateableTopicConfig(name ='cleanup.policy', value ='compact'),CreateableTopicConfig(name ='min.insync.replicas', value ='2')],linkName = null,mirrorTopic = null) (kafka.server.AdminManager)
而且我根本不知道如何将confluent.topic.replication.factor
作为环境变量传递给我的工人。我都添加了:
CONNECT_CONFLUENT_TOPIC_REPLICATION_FACTOR: "1"
CONFLUENT_TOPIC_REPLICATION_FACTOR: "1"
...但是它们都被忽略了。
而且,我什至找不到docs中提到的_confluent-license
,只有_confluent-command
。
如何在docker-compose
内不设置3个代理的情况下使本地连接正常工作?
解决方法
代理失败,因为该主题是从该主题创建的,因此您需要代理上的变量
KAFKA_CONFLUENT_TOPIC_REPLICATION_FACTOR: 1
否则,您需要cp-kafka
,而不是cp-server
正如OneCricketeer所指出的那样,必须在代理容器中设置该值,这也解释了为什么它是代理容器失败而不是连接工作者的原因。那绝对是有道理的。 经纪人不会因为客户端配置错误而失败。
找到解决方案可能会使它更加困惑,因为许可证主题复制因子的env var和配置属性不遵循常规模式,其中env var是大写的配置属性,点用下划线(和前缀)替换(如果适用)。实际上,我们得到:
optimizer=tf.keras.optimizers.Adam(0.001)
-> confluent.topic.replication.factor
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。