如何在aws msk群集上将auto.create.topics.enable设置为默认配置

ma8fv8wu  于 2021-06-06  发布在  Kafka
关注(0)|答案(2)|浏览(1081)

当生产者第一次发布消息到主题时,我们的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集群以启用自动创建主题?

rks48beu

rks48beu1#

向前看,现在可以将此参数设置为 true 通过自定义配置,它将保持 false 默认情况下,因为这是推荐的生产配置。

zlwx9yxi

zlwx9yxi2#

更新
您现在可以自定义msk配置: auto.create.topics.enable :在服务器上启用主题自动创建。
因此, auto.create.topics.enable=true (默认为 false )现在应该照常做了。
旧答案
尽管 auto.create.topics.enable 通常默认为 true ,这不是aws msk的情况。根据今年2月柏林awsKafka峰会上展示的这些幻灯片,以下是amazon msk的默认配置参数:

offsets.topic.replication.factor 3
transaction.state.log.replication.factor 3
transaction.state.log.min.isr 2
auto.create.topics.enable False
default.replication.factor 3
min.insync.replicas 2
unclean.leader.election.enable True
auto.leader.rebalance.enable True
authorizer.class.name kafka.security.auth.SimpleAclAuthorizer
group.initial.rebalance.delay.ms 3000
log.retention.hours 168

注意,甚至kafka文档也提到建议的生产配置应该设置为 false . 似乎这个属性在msk上是不可配置的,所以我建议您与aws支持部门联系,或者在运行producer之前使用它并创建主题。

相关问题