转载请注明出处:

 1. 服务器上下载 kafka :

wget https://archive.apache.org/dist/kafka/2.4.0/kafka_2.12-3.2.0.tgz

  2. 解压之后,启动kafka内置的zookeeper 和 kafka 服务

# 启动zookeeper
bin/zookeeper-server-start.sh config/zookeeper.properties

# 启动kafka
bin/kafka-server-start.sh -daemon config/server.properties

  3. 创建队列 test_topic

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test_topic

  4. 连接kafka内置的zookeeper 的客户端

bin/zookeeper-shell.sh localhost:2181

5. 在zookeeper 的客户端中通过 ls 查看所有的节点数据:

kafka 在 zookeeper 中保存的数据内容_kafka

各节点的意义:

  • admin: 存储管理员接口操作的相关信息,主要为 topic 删除事件,分区迁移事件,优先副本选举,信息 (一般为临时节点)
  • brokers: 主要存储 broker 相关的信息,broker 节点以及节点上的 topic 相关信息
  • cluster: 存储 kafka 集群信息
  • config: 存储 broker,client,topic,user 以及 changer 相关的配置信息
  • consumers: 存放消费者相关信息 (一般为空)
  • controller: 用于存放控制节点信息 (注意:该节点是一个临时节点,用于 controller 节点注册)
  • controller_epoch: 用于存放 controller 节点当前的年龄
  • isr_change_notification: 用于存储 isr 的变更通知 (临时节点,当有 isr 进行变动时,会用于事件通知,可进行 watch 获取集群 isr 状态变更)
  • latest_producer_id_block: 该节点用于存储处理事务相关的 pid 范围
  • log_dir_event_notification: 日志目录事件通知

kafka 在 zookeeper 中保存的数据内容_客户端_02