ZooKeeper技术内幕(三)

本文详细介绍了ZooKeeper的会话状态,包括CONNECTING、CONNECTED、RECONNECTING、RECONNECTED和CLOSE等。深入讲解了会话的创建,重点阐述了sessionID的生成机制以及SessionTracker在会话管理中的角色。此外,还详述了ZooKeeper服务器的启动过程,区分了单机版和集群版的启动步骤,涉及配置文件解析、数据恢复、对外服务等多个环节。
摘要由CSDN通过智能技术生成

四、会话

1、会话状态

ZooKeeper客户端与服务端创建连接后,就建立起了一个会话。会话有几种状态:CONNECTING、CONNECTED、RECONNECTING、RECONNECTED、CLOSE等。

2、会话创建

1)Session

Session是ZooKeeper的会话实体,达标一个客户端会话。包含四个基本属性:sessionID、TimeOut、TickTime、isClosing。

2)sessionID

用来唯一标识一个会话,具有全局唯一性。initializeNextSession方法生成一个初始化的sessionID,算法是高8位确定所在机器,低56位使用当前时间的毫秒表示进行随机。

3)SessionTracker

SessionTracker是ZooKeeper服务端的会话管理器,负责会话的创建、管理和清理等工作。

五、服务器启动

1、单机版服务器启动

分为五个步骤:配置文件解析、初始化数据管理器、初始化网络IO管理器、数据恢复、对外服务

预启动

1)zkServer.sh脚本中配置了QuorumPeerMain作为启动类;

2)解析配置文件zoo.cfg,包括端口、dataDir、tickTime等;

3)清理事务日志和数据快照;

4)判断是集群模式还是单机模式:如果是单机模式,交给ZooKeeperServerMain进行启动;

5)再次解析配置文件zoo.cfg

6)创建服务器实例ZooKeeperServer:创建服务器实例、初始化工作。

初始化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值