问题:
1. Kafka的哪些信息记录在Zookeeper中
2. Consumer Group消费的每个Partition的Offset信息存放在什么位置3. Topic的每个Partition存放在哪个Broker上的信息存放在哪里
4. Producer跟Zookeeper究竟有没有关系?没有关系!!!
//consumers、config、brokers、controller_epoch都是Kafka相关的znode [zk: localhost:2181(CONNECTED) 0] ls / [abc, admin, zookeeper, consumers, config, controller, storm, brokers, controller_epoch] [zk: localhost:2181(CONNECTED) 1] ls ///consumers目录下是所有的consumer group的定义 [zk: localhost:2181(CONNECTED) 2] ls /consumers [test-consumer-group, topic-p6-r2-consumer-group, learn.topic.consumers.group, learn.topic.p8.r2.consumers.group] [zk: localhost:2181(CONNECTED) 3] ls learn.topic.p8.r2.consumers.group Command failed: java.lang.IllegalArgumentException: Path must start with / character ///consumer group下游offsets、owners和ids的定义 [zk: localhost:2181(CONNECTED) 4] ls /consumers/learn.topic.p8.r2.consumers.group [offsets, owners, ids] ///offsets下面是topic的定义 [zk: localhost:2181(CONNECTED) 5] ls /consumers/learn.topic.p8.r2.consumers.group/offsets [learn.topic.p8.r2] ///topic下面是partition的定义,learn.topic.p8.r2表示8个partition,2个副本 ///partition中的offset的设置在znode的data中,而不是子znode中 [zk: localhost:2181(CONNECTED) 6] ls /consumers/learn.topic.p8.r2.consumers.group/offsets/learn.topic.p8.r2 [3, 2, 1, 0, 7, 6, 5, 4] [zk: localhost:2181(CONNECTED) 7] ls /consumers/learn.topic.p8.r2.consumers.group/offsets/learn.topic.p8.r2/2 [] [zk: localhost:2181(CONNECTED) 8] ls /consumers/learn.topic.p8.r2.consumers.group/offsets/learn.topic.p8.r2/3 [] [zk: localhost:2181(CONNECTED) 9] ls /consumers/learn.topic.p8.r2.consumers.group/offsets/learn.topic.p8.r2/4 [] ///consumer group属于哪个topic所有,代码中不需要显式指定 ///consumer group消费哪个topic,kafka自动将topic设置为这个consumer group的owner [zk: localhost:2181(CONNECTED) 19] ls /consumers/learn.topic.p8.r2.consumers.group/owners [learn.topic.p8.r2] [zk: localhost:2181(CONNECTED) 20] ls /consumers/learn.topic.p8.r2.consumers.group/owners/learn.topic.p8.r2 [3, 2, 1, 0, 7, 6, 5, 4] [zk: localhost:2181(CONNECTED) 21] ls /consumers/learn.topic.p8.r2.consumers.group/owners/learn.topic.p8.r2/3 [] ///后面是broker的ID [zk: localhost:2181(CONNECTED) 23] ls /consumers/learn.topic.p8.r2.consumers.group/ids [learn.topic.p8.r2.consumers.group_TP-A383-D-1427853446455-efa1e47b] [zk: localhost:2181(CONNECTED) 24] ls /consumers/learn.topic.p8.r2.consumers.group/ids/learn.topic.p8.r2.consumers.group_TP-A383-D-1427853446455-efa1e47b [] [zk: localhost:2181(CONNECTED) 10] ls /brokers [topics, ids] [zk: localhost:2181(CONNECTED) 11] ls /brokers/topics [topic_p10_r3, topic-p6-r2, test_many_partitions, test, topic_p10_r1, learn.topic.p8.r2, learn.topic, topic-3-replica-1-part] [zk: localhost:2181(CONNECTED) 12] ls /brokers/topics/learn.topic.p8.r2 [partitions] [zk: localhost:2181(CONNECTED) 13] ls /brokers/topics/learn.topic.p8.r2/partitions [3, 2, 1, 0, 7, 6, 5, 4] [zk: localhost:2181(CONNECTED) 14] ls /brokers/topics/learn.topic.p8.r2/partitions/3 [state] [zk: localhost:2181(CONNECTED) 15] ls /brokers/topics/learn.topic.p8.r2/partitions/3/state [] [zk: localhost:2181(CONNECTED) 16] ls /brokers/ids [2, 1, 0] [zk: localhost:2181(CONNECTED) 17] ls /brokers/ids/2 [] [zk: localhost:2181(CONNECTED) 18]
每个Consumer Group的每个Partition的Offset信息是作为值存放在Partition节点上的,而不是作为子节点,如下所示,4704是3号Partition已经消费的Offset数
[zk: localhost:2181(CONNECTED) 28] get /consumers/learn.topic.p8.r2.consumers.group/offsets/learn.topic.p8.r2/3 4704 cZxid = 0x1bf14 ctime = Tue Mar 31 06:25:39 EDT 2015 mZxid = 0x1c658 mtime = Tue Mar 31 22:03:48 EDT 2015 pZxid = 0x1bf14 cversion = 0 dataVersion = 177 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 4 numChildren = 0
Topic的每个Partition存放在哪个Broker上的信息存放在哪里?
[zk: localhost:2181(CONNECTED) 30] ls /brokers [topics, ids] [zk: localhost:2181(CONNECTED) 31] ls /brokers/topics [topic_p10_r3, topic-p6-r2, test_many_partitions, test, topic_p10_r1, learn.topic.p8.r2, learn.topic, topic-3-replica-1-part] [zk: localhost:2181(CONNECTED) 32] ls /brokers/topics/learn.topic.p8.r2 [partitions] [zk: localhost:2181(CONNECTED) 33] ls /brokers/topics/learn.topic.p8.r2/partitions [3, 2, 1, 0, 7, 6, 5, 4] [zk: localhost:2181(CONNECTED) 34] ls /brokers/topics/learn.topic.p8.r2/partitions/3 [state] [zk: localhost:2181(CONNECTED) 35] ls /brokers/topics/learn.topic.p8.r2/partitions/3/state [] /// [zk: localhost:2181(CONNECTED) 36] get /brokers/topics/learn.topic.p8.r2/partitions/3/state {"controller_epoch":42,"leader":0,"version":1,"leader_epoch":2,"isr":[0,1]} cZxid = 0x1bee8 ctime = Tue Mar 31 05:34:16 EDT 2015 mZxid = 0x1c247 mtime = Tue Mar 31 21:48:01 EDT 2015 pZxid = 0x1bee8 cversion = 0 dataVersion = 5 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 75 numChildren = 0
每个Broker的信息:包括host和port
//三个broker [zk: localhost:2181(CONNECTED) 38] ls /brokers/ids [2, 1, 0] [zk: localhost:2181(CONNECTED) 39] ls /brokers/ids/2 [] ///host和port信息 [zk: localhost:2181(CONNECTED) 40] get /brokers/ids/2 {"jmx_port":-1,"timestamp":"1427852973061","host":"192.168.26.140","version":1,"port":9094} cZxid = 0x1c257 ctime = Tue Mar 31 21:49:33 EDT 2015 mZxid = 0x1c257 mtime = Tue Mar 31 21:49:33 EDT 2015 pZxid = 0x1c257 cversion = 0 dataVersion = 0 aclVersion = 0 ephemeralOwner = 0x14c72a6b3610003 dataLength = 91 numChildren = 0
每个Topic的Partion存放在哪个或者哪些Broker上,信息存放在
///每个partition的leaderpartition和follower partition信息 [zk: localhost:2181(CONNECTED) 53] get /brokers/topics/learn.topic.p8.r2 {"version":1,"partitions":{"4":[2,1],"5":[0,2],"6":[1,2],"1":[2,0],"0":[1,2],"2":[0,1],"7":[2,0],"3":[1,0]}}
相关推荐
**Kafka-Zookeeper集群配置详解** 在大数据处理和实时流计算领域,Apache Kafka与Zookeeper是两个非常重要的组件。Kafka作为一个高吞吐量、分布式的消息发布与订阅系统,广泛用于数据管道和实时数据流处理;而...
标题中的"kafka+zookeeper.zip"表明这是一个关于Apache Kafka和Zookeeper的组合包,通常用于构建高效的消息队列系统,尤其在大数据处理场景中。Apache Kafka是一个分布式流处理平台,而Zookeeper是一个分布式协调...
Kafka、Zookeeper集群配置Demo
ELK+Filebeat+Kafka+ZooKeeper构建日志分析平台,架构图解
Kafka是一个高效、可扩展、持久化的发布/订阅消息系统,而Zookeeper则是一个分布式的协调服务,用于管理配置信息、命名、提供分布式同步和组服务。两者结合使用,能够构建出稳定且高性能的消息传递环境。 Zookeeper...
在Kafka的配置文件`server.properties`中,我们需要指定Zookeeper的连接地址。然后,启动Kafka的Broker服务。 **Kafka使用模板与setup** “模板”可能指的是Kafka使用的配置模板,例如`server.properties`、`...
1. **安装Kafka**:在每台服务器上安装Kafka,并根据Zookeeper集群的地址配置`server.properties`。 2. **启动Kafka**:启动所有Kafka节点,Kafka会自动连接到Zookeeper集群并注册自身。 3. **测试连接**:创建一个...
完成配置后,分别在每个Zookeeper和Kafka节点上启动服务。在Kafka节点上,可以通过`kafka-topics.sh`脚本创建主题,并指定分区数和副本数。然后,可以使用`kafka-console-producer.sh`和`kafka-console-consumer.sh`...
【标题】"kafka+zookeeper高可用集群搭建shell使用脚本"所涉及的知识点主要集中在构建高可用的Kafka和Zookeeper集群上,以及如何利用Shell脚本来自动化这个过程。Kafka是一个分布式流处理平台,而Zookeeper是Apache...
5. 创建Kafka主题:Kafka的主题分区信息是存储在Zookeeper中的,所以在启动Kafka之前,可能需要先创建一些主题。 6. 启动Kafka broker:在每个节点上启动Kafka服务,集群中的每个broker都会注册到Zookeeper,并与...
通过指定镜像、端口映射、环境变量和依赖关系等配置,实现了Zookeeper和Kafka的快速部署和集成。同时,在定义了一个名为"mynetwork"的网络来连接这些服务,确保它们可以相互通信。整体而言,这个Docker Compose 文件...
在IT领域,构建分布式系统是常见的任务之一,而Kafka、Zookeeper和Redis都是其中重要的组件。本教程将详述如何在CentOS7操作系统中搭建Kafka、Zookeeper和Redis的集群环境,以实现高效、稳定的分布式数据处理和存储...
首先,我们要在Linux服务器上安装Java运行环境,因为Kafka和Zookeeper都是基于Java的。确保已安装Java 8或更高版本,并将其设置为默认版本。 接下来,我们将安装Zookeeper。下载最新稳定版的Zookeeper源码,解压后...
Zookeeper维护了节点间的一致性,使得多个Kafka集群实例能够共享配置信息,实现分布式选举和命名服务。在Kafka中,Zookeeper被用于管理主题(topics)、分区(partitions)以及 broker(服务器节点)的元数据。当...
Apache Kafka是一种高吞吐量、分布式发布订阅消息系统,而ZooKeeper则是一个开源的分布式协调服务,为Kafka提供可靠的选举、配置管理和命名服务。 **Kafka和ZooKeeper简介** 1. **Apache Kafka**:Kafka最初由...
zookeeper配置、集群部署 kafka配置、集群部署 Window平台下
kafka配置文件zookeeper参数.md
kafka zookeeper 执行文件 kafka zookeeper 执行文件 kafka zookeeper 执行文件 kafka zookeeper 执行文件 kafka zookeeper 执行文件 kafka zookeeper 执行文件 kafka zookeeper 执行文件
总的来说,理解Kafka和ZooKeeper的工作原理和配置对于在Windows 10上搭建和管理这些服务至关重要。正确配置和使用这些工具,可以有效地处理大规模数据流和实现高效的消息传递。在实际操作中,可能还需要关注网络设置...
在实际应用中,Kafka常与Zookeeper配合使用,Zookeeper负责管理Kafka的元数据,如主题、分区和副本的分布信息,确保Kafka集群的稳定运行。同时,Zookeeper也可以用于其他分布式应用的协调,如Hadoop、Spark等。 总...