当生产者第一次发布消息到主题时,我们的aws-msk集群不会自动创建主题。这是令人惊讶的,因为根据https://kafka.apache.org/documentation/#brokerconfigs 应该有 auto.create.topics.enable = true
.
我已尝试在我的代理上设置此配置,但无法设置,因为配置无效 read-only
用于动态更新。
$ kafka-configs --bootstrap-server $KAFKA_BROKER --entity-type brokers --entity-default --alter --add-config auto.create.topics.enable=true
Error while executing config command with args '--bootstrap-server $KAFKA_BROKER --entity-type brokers --entity-default --alter --add-config auto.create.topics.enable=true'
java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.InvalidRequestException: Invalid config value for resource ConfigResource(type=BROKER, name=''): Cannot update these configs dynamically: Set(auto.create.topics.enable)
注意:我将我们经纪人的ip替换为 $KAFKA_BROKER
在输出中
如何配置我的aws-msk-kafka集群以启用自动创建主题?
2条答案
按热度按时间rks48beu1#
向前看,现在可以将此参数设置为
true
通过自定义配置,它将保持false
默认情况下,因为这是推荐的生产配置。zlwx9yxi2#
更新
您现在可以自定义msk配置:
auto.create.topics.enable
:在服务器上启用主题自动创建。因此,
auto.create.topics.enable=true
(默认为false
)现在应该照常做了。旧答案
尽管
auto.create.topics.enable
通常默认为true
,这不是aws msk的情况。根据今年2月柏林awsKafka峰会上展示的这些幻灯片,以下是amazon msk的默认配置参数:注意,甚至kafka文档也提到建议的生产配置应该设置为
false
. 似乎这个属性在msk上是不可配置的,所以我建议您与aws支持部门联系,或者在运行producer之前使用它并创建主题。