更新时间:2024-08-03 GMT+08:00

Kafka Shell命令介绍

前提条件

Kafka的Linux客户端已安装。安装方法可参考安装客户端

常用的Shell命令指南

Shell命令执行方法:

  1. 进入Kafka客户端任意目录。
  2. 初始化环境变量。

    source /opt/client/bigdata_env

  3. 如果当前集群已启用Kerberos认证,执行以下命令认证当前用户(该用户需要加入kafkaadmin用户组拥有Kafka管理员权限)。如果当前集群未启用Kerberos认证,则无需执行此命令。

    kinit MRS集群用户

    例如:kinit admin

  4. 进入“客户端安装目录/Kafka/kafka/bin”执行Kafka shell命令。

常用的命令如下:

  • 查看当前集群Topic列表。

    sh kafka-topics.sh --list --zookeeper <ZooKeeper集群IP:2181/kafka>

  • 查看单个Topic详细信息。

    sh kafka-topics.sh --describe --zookeeper <ZooKeeper集群IP:2181/kafka> --topic <Topic名称>

  • 删除Topic,由管理员用户操作。

    sh kafka-topics.sh --delete --zookeeper <ZooKeeper集群IP:2181/kafka> --topic <Topic名称>

  • 创建Topic,由管理员用户操作。

    sh kafka-topics.sh --create --zookeeper <ZooKeeper集群IP:2181/kafka> --partitions 6 --replication-factor 2 --topic <Topic名称>

  • Old Producer API生产数据。

    sh kafka-console-producer.sh --broker-list <Kafka集群IP:9092> --topic <Topic名称> --old-producer -sync

  • Old Consumer API消费数据。

    sh kafka-console-consumer.sh --zookeeper <ZooKeeper集群IP:2181/kafka> --topic <Topic名称> --from-beginning

  • Producer API生产消息,需要拥有该Topic生产者权限。

    sh kafka-console-producer.sh --broker-list <Kafka集群IP:21007> --topic <Topic名称> --producer.config config/producer.properties

  • Consumer API消费数据,需要拥有该Topic的消费者权限

    sh kafka-console-consumer.sh --topic <Topic名称> --bootstrap-server <Kafka集群IP:21007> --new-consumer --consumer.config config/consumer.properties

  • 未开启Kerberos认证的Kafka集群端口默认为9092,开启Kerberos认证的Kafka集群端口默认为21007。
  • 登录MRS Manager,选择“服务管理 > ZooKeeper > 实例”,获取ZooKeeper的quorumpeer实例的“管理IP”地址。
  • 登录MRS Manager,选择“服务管理 > Kafka > 实例”,获取Kafka的broker实例的“管理IP”地址。