使用kafka的脚本对kafka进行操作

一张图概括kafka主要脚本的用法:

一张图概括kafka主要脚本的用法

一、主题管理 

主题topic的管理主要通过kafka-topics.sh这个脚本进行操作

1.创建主题

./kafka-topics.sh --create --zookeeper <host:port> --topic <topicName> --partitions <partitionsNum> --replication-factor <replicaNum>

  • create : 表示这是一个创建命令
    • —zookeeper :指定zookeeper的地址
    • —topic : 指定创建的主题名称(主题名称不要同时包含.或下划线_)
    • —partitions : 指定创建的主题的分区数量
    • —replication-factor : 创建的主题的副本数
  1. ./kafka-topics.sh --create --zookeeper 127.0.0.1:2181 --topic user_reg --replication-factor 1 --partitions 2
2.查看主题列表

./kafka-topics.sh --list --zookeeper <host:port>

  • list : 表示这是一个查看命令
    • —zookeeper :指定zookeeper的地址
  1. ./kafka-topics.sh --list --zookeeper 127.0.0.1 2181

如果有主题存在,则显示主题列表:

  1. user_delete
  2. user_reg
  3. user_update
3.查看主题详细信息
(1)查看所有主题

./kafka-topics.sh --describe --zookeeper <host:port>

(2)查看指定的主题

./kafka-topics.sh --describe --zookeeper <host:port> --topic <topicName>

  • 查看单个主题
  1. ./kafka-topics.sh --describe --zookeeper 127.0.0.1 2181 --topic user_reg
  • 查看多个主题

注:当需要查看多个主题时,使用,进行连接

  1. ./kafka-topics.sh --describe --zookeeper 127.0.0.1 2181 --topic user_reg,user_update

结果如下:

  1. Topic:user_reg PartitionCount:2 ReplicationFactor:1 Configs:
  2. Topic: user_reg Partition: 0 Leader: 0 Replicas: 0 Isr: 0
  3. Topic: user_reg Partition: 1 Leader: 0 Replicas: 0 Isr: 0
  4. Topic:user_update PartitionCount:2 ReplicationFactor:1 Configs:
  5. Topic: user_update Partition: 0 Leader: 0 Replicas: 0 Isr: 0
  6. Topic: user_update Partition: 1 Leader: 0 Replicas: 0 Isr: 0
4.删除主题

./kafka-topics.sh --delete --zookeeper <host:port> --topic <topicName>

  • 删除单个主题
  1. ./kafka-topics.sh --delete --zookeeper 127.0.0.1 2181 --topic user_reg
  • 删除多个主题

注:当需要删除多个主题时,使用,进行连接

  1. ./kafka-topics.sh --delete --zookeeper 127.0.0.1 2181 --topic user_reg,user_update

二、生产者管理 

1.生产消息

./kafka-console-producer.sh --broker-list <host:port> --topic <topicName>

  • —broker-list : 指定broker的地址
  • —topic : 指定主题名称
  1. ./kafka-console-producer.sh --borker-list localhost:9092 --topic user_reg

通过kafka-console-producer.sh来生产消息

三、消费者管理 

1.消费消息

./kafka-console-consumer.sh --bootstrap-server <host:port> --topic <topicName>

  • —bootstrap-server : 连接的broker地址
  • —topic : 消费的主题
  • —from-beginning : 从开始消费
  1. ./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic user_reg --from-beginning

通过kafka-console-consumer.sh来消费消息

四、broker服务管理

1.服务启动

./kafka-server-start.sh -daemon <configPath>

  • -daemon : 表示以守护进程的形式来启动服务(后台服务)
  • 指定配置文件
  1. ./kafka-server-start.sh -daemon /opt/kafka/config/server.properties
2.服务停止
  1. ./kafka-server.stop.sh