如何将 Apache Kafka on HDInsight 配置为自动创建主题
默认情况下,Apache Kafka on HDInsight 不允许自动创建主题。 可以使用 Apache Ambari 针对现有群集自动创建主题。 也可以允许使用 Azure 资源管理器模板在创建新的 Kafka 群集时自动创建主题。
Apache Ambari Web UI
若要允许通过 Ambari Web UI 在现有的群集上自动创建主题,请执行以下步骤:
从 Azure 门户选择 Kafka 群集。
从群集仪表板中,选择“Ambari 主页”。
出现提示时,进行身份验证使用群集的登录名 (admin) 凭据。 相反,可以直接从
https://CLUSTERNAME.azurehdinsight.cn/
连接到 Ambari,其中CLUSTERNAME
是 Kafka 群集的名称。从页面左侧的列表选择 Kafka 服务。
在页面中间选择“配置”。
在“筛选器”字段中输入值
auto.create
。此设置将筛选属性列表,并显示
auto.create.topics.enable
设置。将
auto.create.topics.enable
的值更改为true
,然后选择“保存”。 添加注释,然后选择保存。依次选择 Kafka 服务、“重启”、“重启所有受影响的项”。 出现提示时,选择“确认全部重启”。
注意
也可通过 Ambari REST API 设置 Ambari 值。 这通常更为困难,因为需进行多次 REST 调用来检索并修改当前配置以及执行其他操作。有关详细信息,请参阅使用 Apache Ambari REST API 管理 HDInsight 群集文档。
Resource Manager 模板
使用 Azure 资源管理器模板创建 Kafka 群集时,可以将 auto.create.topics.enable
添加到 kafka-broker
中,对其直接进行设置。 以下 JSON 代码片段演示如何将此值设置为 true
:
"clusterDefinition": {
"kind": "kafka",
"configurations": {
"gateway": {
"restAuthCredential.isEnabled": true,
"restAuthCredential.username": "[parameters('clusterLoginUserName')]",
"restAuthCredential.password": "[parameters('clusterLoginPassword')]"
},
"kafka-broker": {
"auto.create.topics.enable": "true"
}
}
}
后续步骤
本文档介绍了如何为 HDInsight 上的 Apache Kafka 启用自动创建主题功能。 若要详细了解如何使用 Kafka,请参阅以下链接: