kafka_2.12-2.4.x-topic命令-主题命令create、delete、list、describe(linux)

说明

登录 hadoop1 ,进行下面操作(登录哪个 hadoop2、hadoop3 也可以)

linux 系统命令在 kafka目录\bin 目录下,后缀是 .sh

进入 kafka 目录:

cd /program/kafka_2.12-2.4.1

查看topic列表

bin/kafka-topics.sh --bootstrap-server hadoop1:9092 --list

解释:

  • --bootstrap-server hadoop1:9092:指定 kafka集群节点
  • --list :列出所有topic

执行结果: 空行,表示没有主题

创建topic-简单创建

bin/kafka-topics.sh --bootstrap-server hadoop1:9092 --create --topic userlog

注意: kafka topic命名规则

查看 data 文件夹

打开 /program/kafka_2.12-2.4.1/data/ 目录,发现有 userlog-0 文件夹,其中 0 表示 Partition分区号

查看zookeeper节点

启动zookeeper客户端,执行下面命令:

ls /brokers/topics

发现节点下有 userlog/0

说明 topic 保存在zookeeper中

结论

  • 说明创建 topic 后,在kafka目录\logs 目录下会生成 文件夹,名字为:topic名-分区号

  • zookeeper的/brokers/topics 会增加 topic名/分区号 的节点

创建topic-指定参数

指定参数

bin/kafka-topics.sh --bootstrap-server hadoop1:9092 --create --replication-factor 1 --partitions 3 --topic userlog2

解释:

  • --topic 定义 topic 名
  • --replication-factor 定义副本数,不能大于broker数量
  • --partitions 定义分区数

再次执行查看topic列表:

bin/kafka-topics.sh --bootstrap-server hadoop1:9092 --list

执行结果:

userlog

查看 hadoop2 的 topic列表:

bin/kafka-topics.sh --bootstrap-server hadoop2:9092 --list

执行结果:

userlog

数据同步了

查看topic详情

bin/kafka-topics.sh --bootstrap-server hadoop1:9092 --describe --topic userlog

执行结果:

第一行是概览信息:

  • PartitionCount: 3分区总数
  • ReplicationFactor: 1 副本数

下面共有3行,先看 第一行,解释:

  • Partition: 0: 表示编号是0的 Partition,即:userlog-0

  • Leader: 0: 表示 Leader 在 broker.id=0 这个节点上(在server.properties中配置)

  • Replicas: 0: 表示 Replicas 在 broker.id=0这个节点上(在server.properties中配置)

  • Isr: 0: 副本都已同步的的节点集合

第二行的意思 同上

删除topic

执行删除命令

执行下面命令

bin/kafka-topics.sh --bootstrap-server hadoop1:9092 --delete --topic userlog

原文出处:/show_1IX1zxbxTFjY.html