kafka常用命令使用说明

查看当前kafka集群中的topic情况

命令:

bin/kafka-topics.sh --list --zookeeper127.0.0.1:2181

列出该zookeeper中记录在案的topic列表

创建Topic

命令:

bin/kafka-topics.sh --create --topic test0 --zookeeper 127.0.0.1:2181 --config max.message.bytes=12800000 
--config flush.messages=1 --partitions 5 --replication-factor 1

说明:

--topic后面的test0是topic的名称

--zookeeper应该和server.properties文件中的zookeeper.connect一样

--config指定当前topic上有效的参数值

--partitions指定topic的partition数量,如果不指定该数量,默认是server.properties文件中的num.partitions配置值

--replication-factor指定每个partition的副本个数,默认1个

查看topic

命令:

/usr/local/kafka/bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test 
删除kafka的topic

命令:

bin/kafka-topics.sh --delete --zookeeper 127.0.0.1:2181 --topic test0

如果server.properties中没有把delete.topic.enable设为true,那么此时的删除并不是真正的删除,而是把topic标记为:marked for deletion

查看topic消费到的offset

命令:

bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list 127.0.0.1:9092 --topic test0 --time -1

time为-1时表示最大值,为-2时表示最小值。

运行结果:

test0:0:177496

test0:1:61414

修改topic的partition数量(只能增加不能减少)

命令:

bin/kafka-topics.sh --alter --zookeeper 127.0.0.1:2183 --partitions 10 --topic test0
启动kafka

命令:

bin/kafka-server-start.sh -daemon config/server.properties 
生产消息

命令:

/usr/local/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test 

消费消息

从头开始

命令:

/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
从尾部开始

从尾部开始取数据,必需要指定分区:
命令:

/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --offset latest --partition 0
指定消费数目

命令:

/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --offset latest --partition 0 --max-messages 1 

消费者 Group

指定 Group

命令:

/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test -group test_group --from-beginning
消费者 Group 列表

命令:

/usr/local/kafka/bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list
查看group详情

命令:

/usr/local/kafka/bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group test_group --describe

输出:

Consumer group 'test_group' has no active members.

TOPIC           PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG             CONSUMER-ID     HOST            CLIENT-ID
test            0          5               5               0               -               -               -

# CURRENT-OFFSET: 当前消费者群组最近提交的 offset,也就是消费者分区里读取的当前位置
# LOG-END-OFFSET: 当前最高水位偏移量,也就是最近一个读取消息的偏移量,同时也是最近一个提交到集群的偏移量
# LAG:消费者的 CURRENT-OFFSET 与 broker 的 LOG-END-OFFSET 之间的差距
删除 Group 中 Topic

命令:

/usr/local/kafka/bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group test_group --topic test --delete
删除Group

命令:

/usr/local/kafka/bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group test_group --delete

你可能感兴趣的:(大数据组件)