rpa*_*sza 5 amazon-web-services apache-kafka aws-msk
当生产者首次向主题发布消息时,我们的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)
Run Code Online (Sandbox Code Playgroud)
注意:我$KAFKA_BROKER在输出中替换了我们经纪人的IP
如何配置AWS MSK Kafka集群以启用主题的自动创建?
更新
您现在可以自定义MSK 配置:
auto.create.topics.enable: 在服务器上启用主题自动创建。
因此,auto.create.topics.enable=true(默认为false)现在应该像往常一样执行此操作。
较旧的答案
尽管auto.create.topics.enable通常默认为true,但 AWS MSK 并非如此。根据今年 2 月柏林 AWS Kafka 峰会上展示的这些幻灯片,以下是 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
Run Code Online (Sandbox Code Playgroud)
请注意,即使 Kafka 文档也提到建议的生产配置应设置为false. 此属性似乎也无法在 MSK 上配置,因此我建议您联系 AWS 支持,或者在运行生产者之前直接使用它并创建主题。
| 归档时间: |
|
| 查看次数: |
1007 次 |
| 最近记录: |