kafka-topics.sh
创建主题
bin/kafka-topics.sh --create --topic ${主题} --replication-factor 2 --partitions 2 --zookeeper localhost:2181
# 参数
# --create 创建
# --topic 主题
# --replication-factor
# --partitions 分区数
# --zookeeper zookeeper 地址
查看所有主题
bin/kafka-topics.sh --zookeeper localhost:2181 --list
kafka-console-consumer.sh
bin/kafka-console-consumer.sh --bootstrap-server 192.168.213.13:9092,192.168.213.14:9092,192.168.213.21:9092 --from-beginning --topic ${主题}
删除topic
bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic ${主题}
发送消息
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic ${主题}
>hello world
>hello kafka
Producer数据的写入流程:
- producer 先从 zookeeper 的 "/brokers/…/state"节点找到该 partition 的leader
- producer 将消息发送给该 leader
- leader 将消息写入本地 log
- followers 从 leader pull 消息,写入本地 log 后向 leader 发送 ACK
- leader 收到所有 ISR 中的 replication 的 ACK 后,增加 HW(high watermark,最后commit 的 offset)并向 producer 发送 ACK
查看某个topic消息的情况
bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic ${主题}