kafka笔记:kafka主题管理

kafka的元数据信息否存放在zookeeper中,故操作kafka时多数时候需要指定zookeeper集群地址。

--zookeeper 172.21.0.2:2181,172.21.0.3:2181,172.21.0.4:2181/kafka

主题管理工具脚本:kafka-topic.sh

  • [x] 创建主题
kafka-topics.sh --create  --topic test-topic01  --zookeeper 172.21.0.2:2181,172.21.0.3:2181,172.21.0.4:2181/kafka --partitions 3 --replication-factor 3

--topic 定义topic名称
--zookeeper指定zookeeper服务
--partitions 分区数量
--replication-factor 副本数量,不能大于broker数量

  • [x] 显示所有主题
kafka-topics.sh --list --zookeeper 172.21.0.2:2181,172.21.0.3:2181,172.21.0.4:2181/kafka
  • [x] 在zookeeper里面查看topics
ls /kafka/brokers/topics
  • [x] 查看主题
kafka-topics.sh --describe --topic test-topic01  --zookeeper 172.21.0.2:2181,172.21.0.3:2181,172.21.0.4:2181/kafka

PartitionCount 分区数量
ReplicationFactor 副本数量
Topic: test-topic01 Partition: 0 Leader: 1 (broker1的leader分区是0) Replicas: 1,2,3 Isr: 1,2,3
Topic: test-topic01 Partition: 1 Leader: 2 Replicas: 2,3,1 Isr: 2,3,1
Topic: test-topic01 Partition: 2 Leader: 3 Replicas: 3,1,2 Isr: 3,1,2

  • [x] zookeeper中查看topic信息

    get /kafka/brokers/topics/test-topic01
  • [x] 删除主题
kafka-topics.sh --delete --topic test_topic --zookeeper 172.21.0.2:2181,172.21.0.3:2181,172.21.0.4:2181/kafka
  • [x]eader副本负责读、写,follower副本只负责同步(当leader分区挂掉时,Controller会从ISR中的follower选举出leader)。

  • [x] ISR (In Sync Replication) 由leader进行动态维护的存活follower集合。
    作用:

    1.生产者投递消息时,ISR中的follower同步leader后回应leader,broker返回ack给生产者。(详见后续:生产者投递消息的ACK机制。当ack=-1时,leader和ISR中的follower都需要同步成功后,borker才返回ack)。
    2.leader挂掉时,会从ISR选举出follower副本作为新的leader。(详见后续:leader发生故障时,如何保障副本数据一致)

猜你喜欢

转载自blog.51cto.com/phpme/2513884