1.启动kafka
先启动kafka服务
kafka-server-start ../config/server.properties
2.创建主题
创建名为test-topic的主题,命令如下:
./kafka-topics.sh --zookeeper localhost:2181 --create --topic test-topic --replication-factor 1 --partitions 5
为该主题指定1个副本和5个分区
3.启动生产者
命令如下:
./kafka-console-producer.sh --broker-list localhost:9092 --topic test-topic
相关参数说明:
broker-list:必传参数,用来指定Kafka的代理地址列表,多个地址间使用逗号隔开
topic:必传参数,用来指定消息被发送的目标主题
⭐️⭐️⭐️⭐️
3.1 该命令执行后,控制台等待客户端输入消息,我们在控制台输入5条消息:
⭐️⭐️⭐️⭐️
3.2 查看主题各分区对应消息偏移量 ,命令如下:
./kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic test-topic
执行以上命令输出结果信息如下,共3列,分别表示主题名、分区编号、消息偏移量:
4.查看消息
kafka生产的消息以二进制的形式存在文件中,为了便于查看消息内容,kafka提供了一个查看日志文件的工具类kafka.tools.DumpLogSegments。
查看主题test-topic相应分区下的日志文件,执行命令如下:
./kafka-run-class.sh kafka.tools.DumpLogSegments --files /workspace/kafka/log/test-topic-0/00000000000000000000.log
上述命令中,files是必传参数,用于指定要转储(dump)文件的路径,可同时指定多个文件,多个文件路径之间以逗号分隔。
执行结果如下:
5.生产者性能测试
5.1 向一个名为test-topic的主题发送100万条消息,每条消息大小为1000字节
./kafka-producer-perf-test.sh --producer-props bootstrap.servers=localhost:9092 --topic test-topic --throughput 1000000 --num-records 1000000 --record-size 1000
相关参数说明:
测试结果输出如下:
⭐️⭐️⭐️⭐️
相关参数说明:
5.2 查看主题各分区对应消息偏移量,结果如下:
由于不同环境配置压力测试结果不一样,这里只是介绍如何使用该工具对生产者进行压力测试
本章内容到此结束
参考书籍:《Kafka入门与实践》·牟大恩
版权归原作者 Dobyi 所有, 如有侵权,请联系我们删除。