背景
即使了解了 kafka 的概念,也无法阻挡测试同事的不断追问。例如 kafka 消息这么多,我怎么测试啊;消息到底有没有发到 kafka,怎么看;kafka 磁盘写满了,怎么办;我太难了。。????????????
kafka 的常用命令
— zookeeper 服务端地址
— replication-factor 副本数
— partitions 分区数
— topic 主题名
— describe
创建主题(4 个分区,2 个副本)
kafka-topics.sh –create –zookeeper localhost:2181 –replication-factor 2 –partitions 4 –topic test
查询集群描述
kafka-topics.sh –describe –zookeeper
删除主题
kafka-topics.sh –zookeeper node3:2181,node4:2181,node5:2181 –delete –topic kfk
更新特定主题的分区
bin/kafka-topics.sh –zookeeper 127.0.0.1:2181 –alter –partitions 20 –topic testKJ1
新消费者列表查询(支持 0.9 版本 +)
kafka-consumer-groups.sh –new-consumer –bootstrap-server localhost:9092 –list
设置偏移量到最新
kafka-consumer-groups.sh –bootstrap-server localhost:9092 –group you_consumer_group_name –topic you_topic_name –execute –reset-offsets –to-latest
显示某个消费组的消费详情(支持 0.9 版本 +)
kafka-consumer-groups.sh –new-consumer –bootstrap-server localhost:9092 –describe –group test-consumer-group
生产者操作
bin/kafka-console-producer.sh –broker-list localhost:9092 –topic test
新生产者(支持 0.9 版本 +)
bin/kafka-console-producer.sh –broker-list localhost:9092 –topic test –producer.config config/producer.properties
消费者操作:
kafka-console-consumer.sh –bootstrap-server node1:9092 –topic my-kafka-topic
通过以上命令,可以看到消费者可以接收生产者发送的消息
如果需要从头开始接收数据,需要添加 –from-beginning 参数
kafka-console-consumer.sh –bootstrap-server node01:9092 –from-beginning –topic my-kafka-topic
新消费者(支持 0.9 版本 +)
bin/kafka-console-consumer.sh –bootstrap-server localhost:9092 –topic test –new-consumer –from-beginning –consumer.config config/consumer.properties