提前说明:当前kafka的版本为2.13-2.8.1,下述所有命令都是需要进入到Kafka服务的的bin目录下执行,即下图所示目录。
1.查看主题列表
kafka-topics.sh --list --bootstrap-server ip:端口
2.创建主题
如下为创建一个单分区单副本的主题的命令示例:
kafka-topics.sh --create --bootstrap-server ip:端口 --replication-factor 1 --partitions 1 --topic 主题名称
3.查看主题信息
kafka-topics.sh --bootstrap-server ip:端口 --describe --topic 主题名称
PartitionCount:1表示该主题的分区数
ReplicationFactor:1表示每个分区的副本数,为1的话,表示该分区只有一个分区,即该分区就是leader。
Partition:0表示的是该主题的第几个分区,该标识符从0开始逐次加1递增。
Leader:表示的是领导者分区的位置,即是brokeid的取值(leader 是在给出的所有partitons中负责读写的节点,每个节点都有可能成为leader)
Repicas:表示的是所有副本(包含主分区)的位置集合,可用逗号分隔开。
Isr:位于同步队列的副本(包含主分区)的集合
4.使用消息者接受消息
kafka-console-consumer.sh --bootstrap-server ip:端口 --topic 主题名称 --from-beginning
5.使用生产者发送消息
默认情况下,所生产的消息是没有 key 的,命令如下:
kafka-console-producer.sh --broker-list ip:端口 --topic 主题名称
上面这种语法命令(–broker-list)已经过时了,当前更多采用的是下面这种(–bootstrap-server):
kafka-console-producer.sh --bootstrap-server localhost:9092 --topic topicName
6.查看kafka的所有消费组
kafka-consumer-groups.sh --bootstrap-server 127.0.0.1:9092 --list
可以看到其中有一个名为“TWO”的消费组
7.查看某个消费组的消费情况
kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group 消费组组名
上述涉及的几个字段意义如下:
TOPIC:主题名字
PARTITION:分区id
CURRENT-OFFSET:已经提交的消费位移
LOG-END-OFFSET:总数据量
LAG:未消费的数据量
CONSUMER-ID:代表消费者id,为空代表当前没有消费者
HOST:消费者主机ip,为空代表当前没有消费者
CLIENT-ID:客户端id,为空代表当前没有消费者
8.删除主题
kafka-topics.sh --bootstrap-server localhost:9092 --delete --topic 主题名称
9.获取版本信息
很遗憾,kafka没有提供直接查看version的命令。
但可以进入kafka/libs文件夹,libs下的文件名称中就包含kafka版本信息,,红框中的2.8.1就是kafka的版本,前面的2.13是Scala版本,如下图所示:
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net