一、主题命令行操作
1)查看操作主题命令参数
bin/kafka-topics.sh
2)查看当前服务器中的所有 topic
kafka-topics.sh --bootstrap-server 172.20.0.3:9092 --list
3)创建topic
kafka-topics.sh --bootstrap-server 172.20.0.3:9092 --create --partitions 1 --replication-factor 1 --topic hello
4)查看 first 主题的详情
kafka-topics.sh --bootstrap-server 172.20.0.3:9092 --describe --topic hello
5)修改分区数(注意:分区数只能增加,不能减少)
bin/kafka-topics.sh --bootstrap-server 172.20.0.3:9092 --alter --topic hello --partitions 3
6)删除 topic
kafka-topics.sh --bootstrap-server 172.20.0.3:9092 --delete --topic test
二、生产者命令行操作
1)查看操作生产者命令参数
kafka-console-producer.sh
2)发送消息
kafka-console-producer.sh --bootstrap-server 172.20.0.3:9092 --topic hello
三、消费者命令行操作
1)查看操作消费者命令参数
kafka-console-consumer.sh
2)消费消息
消费 hello主题中的数据。
kafka-console-consumer.sh --bootstrap-server 172.20.0.3:9092 --topic hello --from-beginning
四、手动调整分区副本存储步骤
1)创建主题:均匀分布在俩个节点上
2)创建副本存储计划(所有副本都指定存储在 broker0、broker1 中)
vim increase-replication-factor.json
{
"version":1,
"partitions":[{"topic":"three","partition":0,"replicas":[0,1]},
{"topic":"three","partition":1,"replicas":[0,1]},
{"topic":"three","partition":2,"replicas":[1,0]},
{"topic":"three","partition":3,"replicas":[1,0]}]
}
3)执行副本存储计划。
kafka-reassign-partitions.sh --bootstrap-server localhost:9092 --reassignment-json-file increase-replication-factor.json --execute
4)验证副本存储计划。
kafka-reassign-partitions.sh --bootstrap-server localhost:9092 --reassignment-json-file increase-replication-factor.json --verify
5)查看分区副本存储情况。
五、API
1)生产者API
2)消费者API
3)消费者组
测试同一个主题的分区数据,只能由一个消费者组中的一个消费。
IDEA 中同时启动,即可启动同一个消费者组中的两个消费者。
启动代码中的生产者发送消息,在 IDEA 控制台即可看到两个消费者在消费不同分区的数据
consumer1
consumer2(没有消费数据)