Kafka 的一些命令

tech2022-09-18  94

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 的leaderproducer 将消息发送给该 leaderleader 将消息写入本地 logfollowers 从 leader pull 消息,写入本地 log 后向 leader 发送 ACKleader 收到所有 ISR 中的 replication 的 ACK 后,增加 HW(high watermark,最后commit 的 offset)并向 producer 发送 ACK

查看某个topic消息的情况

bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic ${主题}
最新回复(0)