更新时间:2025-12-17 GMT+08:00

创建Kafka Topic

操作场景

用户可以根据业务需要,使用集群客户端或KafkaUI创建Kafka的主题。启用Kerberos认证的集群,需要拥有管理Kafka主题的权限。

前提条件

  • 已安装客户端,例如安装目录为“/opt/client,以下操作的客户端目录只是举例,请根据实际安装目录修改

    下载并安装集群客户端的具体操作,请参考安装MRS集群客户端

  • 各组件业务用户由MRS集群管理员根据业务需要创建。“机机”用户需要下载keytab文件。“人机”用户第一次登录时需修改密码。(集群未启用Kerberos认证(普通模式)不涉及)

    创建用户相关操作请参考创建Kafka用户并绑定角色

约束与限制

MRS 3.3.1及之后版本,Kafka不再支持使用“--zookeeper”方式创建Topic。

使用Kafka客户端创建Kafka Topic

  1. 登录MRS集群Manager。

    登录集群Manager具体操作,请参考访问MRS集群Manager

  2. 获取Kafka节点业务IP及端口

    1. 选择“集群 > 服务 > Kafka > 实例”,查看并记录任意一个Broker角色实例的业务IP地址。
    2. Kafka集群端口号:

      集群已启用Kerberos认证(安全模式):默认为21007

      集群未启用Kerberos认证(普通模式):默认为9092

  3. 获取ZooKeeper节点业务IP及端口。

    1. 选择“集群 > 服务 > ZooKeeper > 实例”,查看并记录任意一个ZooKeeper角色实例的业务IP地址。
    2. 选择“配置 > 全部配置”,搜索“clientPort”,查看并记录端口号。

      默认端口如下:

      • 开源端口默认值为:2181
      • 定制端口默认值为:24002

      端口定制/开源区分:创建LTS版本类型集群时,可以选择“组件端口”为“开源”或是“定制”,选择“开源”使用开源端口,选择“定制”使用定制端口。

  4. 以客户端安装用户,登录安装客户端的节点。
  5. 执行以下命令,切换到客户端安装目录,例如安装目录为“/opt/client,具体以实际替换

    cd /opt/client

  6. 执行以下命令配置环境变量。

    source bigdata_env

  7. 执行以下命令,进行用户认证。(集群未启用Kerberos认证(普通模式)跳过此步骤)

    kinit 组件业务用户

  8. 执行以下命令进入Kafka客户端“bin”目录。

    cd Kafka/kafka/bin

  9. 使用kafka-topics.sh创建Kafka主题。

    MRS 3.3.1及之后版本,Kafka不再支持使用“--zookeeper”方式创建Topic。

    ./kafka-topics.sh --create --topic 主题名称 --partitions 主题占用的分区数 --replication-factor 主题的备份数 --zookeeper ZooKeeper的任意一个节点的业务IP:clientPort/kafka
    ./kafka-topics.sh --create --topic 主题名称 --partitions 主题占用的分区数 --replication-factor 主题的备份数 --bootstrap-server Kafka集群IP:21007 --command-config ../config/client.properties

  10. 创建完成后执行以下命令,查看主题创建成功。

    ./kafka-topics.sh --describe --zookeeper ZooKeeper的任意一个节点的业务IP:clientPort/kafka --topic 主题名称
    ./kafka-topics.sh --describe --bootstrap-server Kafka集群IP:21007 --command-config ../config/client.properties --topic 主题名称

使用KafkaUI创建Kafka Topic

  • 集群已启用Kerberos认证(安全模式),执行Create Topic操作的用户需属于“kafkaadmin”用户组,否则将会由于鉴权失败导致无法创建。
  • 集群未启用Kerberos认证(普通模式),执行Create Topic操作不做鉴权,即任意用户都可执行Create Topic操作。
  1. 进入KafkaUI界面。

    1. 使用具有KafkaUI页面访问权限的用户登录FusionInsight Manager,选择“集群 > 服务 > Kafka”。

      如需在页面上进行相关操作,例如创建Topic,需同时授予用户相关权限,请参考Kafka用户权限说明

    2. 在“KafkaManager WebUI”右侧,单击URL链接,访问KafkaUI的页面。

  2. 单击“Create Topic”进入创建Topic页面。在弹出的页面中参考表1填写信息,单击“Create”,完成Topic创建。

    表1 创建Topic信息

    参数名称

    参数描述

    备注

    Topic

    Topic的名称,只能包含英文字母、数字、中划线和下划线,且不能多于249个字符。

    例如:kafka_ui

    Partitions

    Topic的分区数量,取值范围大于等于1,默认为3。

    -

    Replication Factor

    Topic的副本因子,取值范围为1~N,N为当前集群Broker个数,默认为2。

    -

    Advanced Options

    高级配置。用户可根据需要单击“Advanced Options”配置topic相关高级参数,通常保持默认即可。

    -

  3. 创建完成后,单击“Topics”页签,查看“Topic List”中存在已创建的Topic名称,单击Topic名称,可以查看详细信息。

    图1 Topic创建成功

相关文档