如何将 Apache Kafka on HDInsight 配置为自动创建主题

默认情况下,Apache Kafka on HDInsight 不允许自动创建主题。 可以使用 Apache Ambari 针对现有群集自动创建主题。 也可以允许使用 Azure 资源管理器模板在创建新的 Kafka 群集时自动创建主题。

Apache Ambari Web UI

若要允许通过 Ambari Web UI 在现有的群集上自动创建主题,请执行以下步骤:

  1. Azure 门户选择 Kafka 群集。

  2. 群集仪表板中,选择“Ambari 主页”

    群集仪表板处于选中状态的门户的图像。

    出现提示时,进行身份验证使用群集的登录名 (admin) 凭据。 相反,可以直接从 https://CLUSTERNAME.azurehdinsight.cn/ 连接到 Ambari,其中 CLUSTERNAME 是 Kafka 群集的名称。

  3. 从页面左侧的列表选择 Kafka 服务。

    Apache Ambari“服务列表”选项卡。

  4. 在页面中间选择“配置”。

    Apache Ambari“服务配置”选项卡。

  5. 在“筛选器”字段中输入值 auto.create

    Apache Ambari“搜索筛选器”字段。

    此设置将筛选属性列表,并显示 auto.create.topics.enable 设置。

  6. auto.create.topics.enable 的值更改为 true,然后选择“保存”。 添加注释,然后选择保存

    auto.create.topics.enable 条目的图像。

  7. 依次选择 Kafka 服务、“重启”、“重启所有受影响的项”。 出现提示时,选择“确认全部重启”

    “Apache Ambari 重新启动所有受影响的服务”。

注意

也可通过 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,请参阅以下链接: