-
请先cd进kafka目录的bin目录中
-
启动 kafka(注意:启动kafka前先启动zookeeper。)
# 开启zookeepr zkServer.sh start # 开启kafka nohup kafka-server-start.sh /export/server/kafka_2.12-2.4.1/config/server.properties &
-
查看 kafka topic 列表
# 查看目前kafka的主题 kafka-topics.sh --list --bootstrap-server node1:9092 # 查看某主题详情 kafka-topics.sh --describe --bootstrap-server node1:9092 --topic test
-
创建 kafka topic
# 默认一个分区和一个副本,不一定在执行命令的节点上创建 kafka-topics.sh --create --bootstrap-server node1:9092 --topic test # 创建主题,设定4个分区,3个副本 kafka-topics.sh --create --bootstrap-server node1.itcast.cn:9092 --topic test --partitions 4 --replication-factor 3
-
删除 kafka topic
# 只是在zk中的/admin/delete_topics路径下创建一个待删除主题的同名节点,以此标记该主题的待删除状态 kafka-topics.sh --delete --topic test --zookeeper master:9092/kafka # 彻底删除kafka主题(建议看第一个链接) https://blog.csdn.net/russle/article/details/82881297 https://blog.csdn.net/Vector97/article/details/100565888
-
启动 kafka producer 生产者,生产消息
kafka-console-producer.sh --broker-list node1:9092 --topic test
-
启动 kafka consumer 消费者,消费消息
kafka-console-consumer.sh --bootstrap-server node1:9092 --topic test # 或 kafka-console-consumer.sh --bootstrap-server node1:9092 --from-beginning --topic test # --from-beginning: 会把主题中以往所有的数据都读取出来,请根据业务场景选择是否配置。
-
修改 kafka topic 分区数量
# 修改分区数量 kafka-topics.sh --alter --bootstrap-server node1:9092 --topic test --partitions 3
-
生产消息基准测试
bin/kafka-producer-perf-test.sh --topic test --num-records 5000000 --throughput -1 --record-size 1000 --producer-props bootstrap.servers=node1.itcast.cn:9092 acks=1
说明:
--topic topic的名字
--num-records 总共指定生产数据量(默认5000W)
--throughput 指定吞吐量——限流(-1不指定)
--record-size record数据大小(字节)
--producer-props bootstrap.servers=192.168.1.20:9092,192.168.1.21:9092,192.168.1.22:9092 acks=1 指定Kafka集群地址,ACK模式
-
消费消息基准测试
bin/kafka-consumer-perf-test.sh --broker-list node1.itcast.cn:9092,node2.itcast.cn:9092,node3.itcast.cn:9092 --topic benchmark --fetch-size 1048576 --messages 5000000
说明:
--broker-list 指定kafka集群地址
--topic 指定topic的名称
--fetch-size 每次拉取的数据大小
--messages 总共要消费的消息个数