`

Time in ZooKeeper

 
阅读更多

Zxid

zookeeper状态的每次改变都会接收zxid形式的标记。这能够统计出zookeeper所有的变更。每一次变更都会有惟一的zxid。假如:zxid1小于zxid2,则zxid1比zxid2发生的时间要早。

 

Version numbers

node的每一次变更都会导致node的版本号递增。三种版本号分别为:version-znode的data改变次数、cversion-znode的子节点改变的次数、aversion-znode的ACL改变次数。

 

Ticks

在集群的zookee中,zookeeper用tick来定义事件的时间周期,比如状态变化、session超时、节点间连接超时等。session超时时间是两倍tick时间,设置的session超时时间如果小于2倍ticktime,则默认最小值为2倍tick时间。

 

 Real Time

zookeeper不使用实时时间和时钟时间,出了在znode的stat结构中使用时间戳。

 

Zookeeper Stat Structure

czxid

zxid的改变,会触发这个znode的创建。

 

mzxid

The zxid of the change that last modified this znode.

 

ctime

znode创建的时间

 

mtime

znode最后修改的时间

 

version

znode的data修改的次数

 

cversion

znode子节点修改的次数

 

aversion

znode的ACL修改的次数

 

ephemeralOwner

临时节点的session id,非临时节点的值为0

 

dataLength

znode数据长度

 

numChildren

znode子节点的数量

 

Zookeeper Session

zookeeper客户端可以使用java或c语言连接服务端,客户端通过创建handle和服务器建立session。session一旦建立,session状态为connecting时,handle就启动了;当客户端连接到zookeeper服务端时,状态变为connected。当发生不可恢复的错误时,handle状态变为closed。

 

为了正确连接服务端,客户端需要提供正确的connection stirng,形式为host:port(127.0.0.1:3000,127.0.0.1:3001)。客户端将任意连接一台zookeeper服务器,如果连接终端,客户端就从列表中选取重新选取一个进行连接。

分享到:
评论

相关推荐

    zookeeper-3.4.7.jar

    Each time they are implemented there is a lot of work that goes into fixing the bugs and race conditions that are inevitable. Because of the difficulty of implementing these kinds of services, ...

    zookeeper-3.4.6.zip

    ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. All of these kinds of services are used in ...

    PyPI 官网下载 | timeparse-0.4.tar.gz

    `timeparse`库是一个用于解析人类可读的时间字符串的工具,它可以将诸如"3 hours ago"或"2 minutes in the future"这样的非标准时间表达转换为Python的`datetime`对象。这个功能在处理用户输入、日志分析、时间相关...

    PyPI 官网下载 | shuttl-time-0.0.5.tar.gz

    根据压缩包子文件的文件名称列表只给出"shuttl-time-0.0.5",我们可以推断,这个目录或文件可能包含了库的源代码、元数据(如setup.py和MANIFEST.in)、测试、文档以及其他必要的资源。通常,解压后会有一个setup.py...

    藏经阁-Lambda Processing for Near Time Search Indexing.pdf

    Spark Streaming receiver Approach 负责接收实时数据流,Multiple Kafka Streams processing 负责并行处理实时数据流,而 Store offsets in Zookeeper 负责存储数据的偏移量。 监控和优化 监控和优化是近实时搜索...

    Real-time.Analytics.with.Storm.and.Cassandra.1784395498

    This book will teach you how to use Storm for real-time data processing and to make your applications highly available with no downtime using Cassandra. The book starts off with the basics of Storm ...

    Real-time Analytics with Storm and Cassandra(PACKT,2015)

    This book will teach you how to use Storm for real-time data processing and to make your applications highly available with no downtime using Cassandra. The book starts off with the basics of Storm ...

    cluster-kafka集群配置9091-9093

    6. **Zookeeper会话超时**:`zookeeper.session.timeout.ms`和`zookeeper.connection.timeout.ms`是Zookeeper客户端与服务器的会话和连接超时时间,可以根据实际网络状况适当调整。 7. **其他配置**:还需要关注`...

    PyPI 官网下载 | jitcdde-0.31.tar.gz

    `jitcdde`这个名字可能是“Just-In-Time Continuous Delay-Differential Equations”的缩写,暗示这是一个与延迟微分方程相关的库。 描述中提到“资源来自pypi官网,资源全名:jitcdde-0.31.tar.gz”,进一步确认了...

    分布式锁与信号量.md

    - **基于ZooKeeper**:利用ZooKeeper的临时顺序节点特性来实现。 - **基于数据库**:通过数据库的行级锁或者表级锁来实现。 ##### 1.3 示例代码分析 下面是一个使用Redis实现分布式锁的Python示例代码: ```...

    用于大规模的生产部署Squbs.zip

    For instance, in cases where we have mixed cloud environments such as private and public cloud needing different operational tools, the same codebase will work with both allowing deployment-time ...

    PyPI 官网下载 | jittor-1.2.3.23.tar.gz

    Jittor是一个高效且易用的深度学习框架,它利用Just-In-Time (JIT) 编译技术优化计算性能,特别针对GPU进行了优化。Jittor旨在提供一种简洁的编程接口,使得研究人员和开发者能够快速实现和调试新的深度学习模型。与...

    spark读取hbase数据,并使用spark sql保存到mysql

    .option("dbtable", "my_table_in_mysql") // 替换为你的表名 .option("driver", driver) .mode("append") // 可以根据需要更改为 "overwrite" 或 "errorifexists" .properties(properties) .save() ``` 至此...

    系统稳定性——Dubbo 常见错误及解决方法1

    当服务消费者无法找到服务提供者时,可能是由于服务提供者未启动,或注册中心如Zookeeper、Nacos、Consul出现问题。首先,我们需要检查服务提供者是否正常启动,然后通过Ops系统查看服务列表。如果注册中心正常且...

    Kafka知识汇总 18道1

    此外,`replica.lag.time.max.ms` 和 `replica.lag.max.messages` 控制了从副本被移出 ISR 的条件,以平衡系统的可用性和一致性。 总的来说,Kafka 提供了一个高效、可扩展且高度可靠的平台,用于处理实时数据流。...

    使用JMeter做压力测试1

    在上述例子中,类`Create`有一个`nodePath`参数用于指定znode路径,以及一个`timeout_str`参数来设定超时时间。这些参数在JMeter中配置后,可以通过`JavaSamplerContext`获取。 在JMeter中,你需要添加Java Request...

    kafka集群配置

    2. ** ISR(In-Sync Replica)**:与leader保持同步的follower集合,用于选举新的leader。 3. **min.insync.replicas**:生产者请求确认的最小副本数,确保消息至少被写入到这个数量的副本。 四、网络通信 Kafka的...

    Big Data Made Easy - A Working Guide To The Complete Hadoop Toolset

    - **Apache Storm**: A real-time computation system for processing streaming data. #### Chapter 7: Monitoring Data Monitoring is essential for ensuring the health and performance of Hadoop clusters. ...

    kbrowse:用于在 Apache Kafka 集群上探索数据的工具

    知识库浏览 这是一个用于在 Apache Kafka 集群上探索数据的工具。 为什么 你有没有写过这样的循环,用于调试目的?... KAFKA_TIMEOUT=30000 KAFKA_BOOTSTRAP_SERVERS='foo=foo.localhost:9092' ./lein run ser

Global site tag (gtag.js) - Google Analytics