kafka命令

topic相关

创建一个名为TEST的topic,分为10部分,每部分副本数量为3
/app/kafka_2.13-2.5.0/bin/kafka-topics.sh --zookeeper 1.1.1.3:2181 --create --topic TEST --partitions 10 --replication-factor 3

查看所有topic
/app/kafka_2.13-2.5.0/bin/kafka-topics.sh --zookeeper 1.1.1.3:2181 --list

查看指定topic的详细信息
/app/kafka_2.13-2.5.0/bin/kafka-topics.sh --zookeeper 1.1.1.3:2181 --describe --topic TEST

结果如下

 第一行:topic名称,partition数量,replication(副本)数量
 第二行到最后:每行分五列
           第一列:topic名称
           第二列:partition编号,从0到(partition数量-1)
           第三列:partions的leader的broker ID,即该partition的leader在集群中的哪台kafka服务器,不一定为zookeeper的leader,负责该分区的所有读写
           第四列:副本存放的broker ID,即副本存放在集群中的哪几台kafka服务器,不管它们是否是leader或存活
           第五列:副本同步的broker ID,即副本会同步到集群中的哪几台kafka服务器,为第四列中存活且同步的的子集

 

  增加partition数量
  partition数量只能增加,不能减少
  /app/kafka_2.13-2.5.0/bin/kafka-topics.sh --zookeeper 1.1.1.3:2181 --alter --topic TEST --partitions 20

  

  删除topic
  修改server.properties中的delete.topic.enable=true,否则执行删除命令不会生效
  若delete.topic.enable不为ture,topic只是被标记删除
  如果该topic还在有数据交换,那么查看topic list的时候,会显示该topic为标记删除。直到没有客户端使用该topic,才会真正的被删除
  /app/kafka_2.13-2.5.0/bin/kafka-topics.sh --zookeeper 1.1.1.3:2181 --delete --topic TEST

 

produce相关

produce生产topic数据
topic可以是已存在的,也可以为不存在的,不存在的topic会新建,partition=1,副本数量也等于1
/app/kafka_2.13-2.5.0/bin/kafka-console-producer.sh --broker-list 1.1.1.3:9092 --topic TEST

 

consumer相关

consumer消费topic数据,已有数据不会被消费,必须是执行该命令后产生的数据才会被消费,即实时性数据
/app/kafka_2.13-2.5.0/bin/kafka-console-consumer.sh --bootstrap-server 1.1.1.3:9092 --topic TEST

consumer从头开始消费topic数据
/app/kafka_2.13-2.5.0/bin/kafka-console-consumer.sh --bootstrap-server 1.1.1.3:9092 --topic TEST --from-beginning


查询consumer组
/app/kafka_2.13-2.5.0/bin/kafka-consumer-groups.sh --bootstrap-server 1.1.1.3:9092 --list


查看指定consumer组的详细信息
/app/kafka_2.13-2.5.0/bin/kafka-consumer-groups.sh --bootstrap-server 1.1.1.3:9092 --describe --group my-group

 

posted @ 2020-07-11 11:38  junffzhou  阅读(252)  评论(0编辑  收藏  举报