kafka 常用命令
1.查看kafka所在目录,查看znode目录
ps -ef|grep kafka
cd /app/kafka/kafka_2.11-1.0.0/bin/
cd ../config
vi server.properties
查看kafka 在zookeeper 上面的znode节点位置,这里注意可能zk后面是目录结构
2.创建topic:1分区(分区) 1数据备份(replica)
./kafka-topics.sh --create --zookeeper xx.xx.xx.xx:2181/kafka --replication-factor 1 --partitions 1 --topic IN_OUT_TEST
3.命令行从头消费topic
过时:
./kafka-console-consumer.sh --zookeeper xx.xx.xx.xx:2181/kafka --from-beginning --topic IN_OUT_TEST
现在:
./kafka-console-consumer.sh --bootstrap-server xx.xx.xx.xx:9092 --from-beginning --topic IN_OUT_TEST
4.展示所有topic列表
./kafka-topics.sh --list --zookeeper xx.xx.xx.xx:2181/kafka
5.查看topic组下面,topic的消费情况
./kafka-consumer-groups.sh --describe --bootstrap-server xx.xx.xx.xx:9092 --group test_group
| TOPIC | PARTITION | CURRENT-OFFSET | LOG-END-OFFSET | LAG | CONSUMER-ID | HOST | CLIENT-ID |
| ----------| ---------- | -------------- | -------------- | ----------- | ----------- | ------ | --------- |
topic名字 分区id 当前已消费的条数 总条数 未消费的条数 消费id 主机ip 客户端id
6.查看topic:偏移量、主节点、副本
./kafka-topics.sh --describe --zookeeper xx.xx.xx.xx:2181/kafka --topic IN_OUT_TEST
7.删除没用的topic
./kafka-topics.sh --delete --zookeeper xx.xx.xx.xx:2181/kafka --topic IN_OUT_TEST
8.查看所有组
./kafka-consumer-groups.sh --bootstrap-server xx.xx.xx.xx:9092 --list
9.模拟生产者
./kafka-console-producer.sh --broker-list xx.xx.xx.xx:9092 --topic IN_OUT_TEST
错误:org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms
producer client的Jar包版本与kafka集群版本,不兼容
10.kafka自带性能测试
压测生产者性能
./kafka-producer-perf-test.sh --topic IN_OUT_TEST --num-records 1000 --record-size 10 --throughput 1000 --producer-props bootstrap.servers=xx.xx.xx.xx:9092
1000 records sent, 956.937799 records/sec (0.01 MB/sec), 48.02 ms avg latency, 821.00 ms max latency, 49 ms 50th, 84 ms 95th, 87 ms 99th, 821 ms 99.9th
--topic topic名称,本例为IN_OUT_TEST
--num-records 总共需要发送的消息数,本例为1000
--record-size 每个记录的字节数,本例为10
--throughput 每秒钟发送的记录数,本例为1000
--producer-props bootstrap.servers=xx.xx.xx.xx:9092 发送端的配置信息,本例只指定了kafka的链接信息
可以看到本例中,每秒平均向kafka写入了10KB的数据,大概是956.937799条消息,每次写入的平均延迟为48.02毫秒,最大的延迟为821.00毫秒,87ms内占99%
压测消费者性能
./kafka-consumer-perf-test.sh --zookeeper xx.xx.xx.xx:2181/kafka --topic IN_OUT_TEST --fetch-size 1024 --messages 1000 --threads 1
start.time, end.time, data.consumed.in.MB, MB.sec, data.consumed.in.nMsg, nMsg.sec
2021-08-05 10:50:01:001, 2021-08-05 10:50:01:800, 0.0120, 0.0151, 1000, 1251.5645
--fetch-size 指定每次fetch的数据的大小,本例为1024,也就是1K
--messages 总共要消费的消息个数,本例为1000
可以看到本例中,总共消费了0.0120M的数据,每秒为0.0151, 总共消费了1000条消息,每秒为1251.5645