创建Kafka Topic
操作场景
用户可以根据业务需要,使用集群客户端或KafkaUI创建Kafka的主题。启用Kerberos认证的集群,需要拥有管理Kafka主题的权限。
前提条件
已安装客户端。
使用Kafka客户端创建Kafka Topic
- 进入ZooKeeper实例页面:
登录FusionInsight Manager,具体请参见访问集群Manager。然后选择“集群 > 服务 > ZooKeeper > 实例”。
- 查看ZooKeeper角色实例的IP地址。
记录ZooKeeper角色实例其中任意一个的IP地址即可。
- 根据业务情况,准备好客户端,参考使用MRS客户端章节,登录安装客户端的节点。
- 执行以下命令,切换到客户端目录,例如“/opt/client/Kafka/kafka/bin”。
cd /opt/client/Kafka/kafka/bin
- 执行以下命令,配置环境变量。
source /opt/client/bigdata_env
- 执行以下命令,进行用户认证。(普通模式跳过此步骤)
kinit 组件业务用户
- 使用kafka-topics.sh创建Kafka主题。
./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
使用KafkaUI创建Kafka Topic
- 进入KafkaUI界面。
- 使用具有KafkaUI页面访问权限的用户登录FusionInsight Manager,选择“集群 > 服务 > Kafka”。
如需在页面上进行相关操作,例如创建Topic,需同时授予用户相关权限,请参考Kafka用户权限说明。
- 在“KafkaManager WebUI”右侧,单击URL链接,访问KafkaUI的页面。
- 使用具有KafkaUI页面访问权限的用户登录FusionInsight Manager,选择“集群 > 服务 > Kafka”。
- 单击“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”配置topic相关高级参数,通常保持默认即可。
- 安全模式集群下,执行Create Topic操作的用户需属于“kafkaadmin”用户组,否则将会由于鉴权失败导致无法创建。
- 非安全模式集群下,执行Create Topic操作不作鉴权,即任意用户都可执行Create Topic操作。