一、下载
https://kafka.apache.org/downloads
二、前置条件
安装并启动zookeeper
参考
centos7 zookeeper3.5.5 安装
二、安装
1.解压下载好的安装包
tar -xzf kafka_2.12-2.2.0.tgz
2.修改配置文件config/server.properties
中的
broker.id=1
log.dir=/data/kafka/logs-1
三、启动
须先启动zookeeper,如果使用kafka自带zookeeper则使用下面命令启动,也可以使用单独的zookeeper,推荐单独安装
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties &
zookeeper启动后启动kafka
bin/kafka-server-start.sh -daemon config/server.properties
四、测试
- 使用 kafka-topics.sh 创建单分区单副本的 topic test:
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
- 查看 topic 列表:
bin/kafka-topics.sh --list --zookeeper localhost:2181
- 使用 kafka-console-producer.sh 发送消息:
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
- 使用 kafka-console-consumer.sh 接收消息并在终端打印:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
五、性能测试
写入压力测试kafka-producer-perf-test.sh
--topic topic名称,本例为test
--num-records 总共需要发送的消息数,本例为1000000
--record-size 每个记录的字节数,本例为1000
--throughput 每秒钟发送的记录数,本例为20000
--producer-props bootstrap.servers=locahost:9092发送端的配置信息,修改成自己的地址
bin/kafka-producer-perf-test.sh --topic test --num-records 1000000 --record-size 1000 --throughput 20000 --producer-props bootstrap.servers=locahost:9092
消费消息压力测试kafka-consumer-perf-test.sh
--zookeeper 指定zookeeper的链接信息
--topic topic名称,本例为test
--fetch-size 指定每次fetch的数据的大小,本例为1048576,也就是1M
--messages 总共要消费的消息个数,本例为1000000,100w
bin/kafka-consumer-perf-test.sh --zookeeper localhost:2181 --topic test_property --fetch-size 1048576 --messages 1000000