Kafka Shell命令介绍
前提条件
Kafka的Linux客户端已安装。安装方法可参考安装客户端。
常用的Shell命令指南
Shell命令执行方法:
- 进入Kafka客户端任意目录。
- 初始化环境变量。
source /opt/client/bigdata_env
- 如果当前集群已启用Kerberos认证,执行以下命令认证当前用户(该用户需要加入kafkaadmin用户组拥有Kafka管理员权限)。如果当前集群未启用Kerberos认证,则无需执行此命令。
kinit MRS集群用户
例如:kinit admin
- 进入“客户端安装目录/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”地址。