linux环境下zookeeper集群的搭建

1、准备三台服务器 10.**.*.84、10.**.*.86、10.**.*.89,将从官网下载的zookeeper的压缩包拖入服务器;

2、调用tar -zxvf zookeeper-3.4.10.tar.gz命令解压zookeeper;

3、cd到conf,copy一份zoo.cfg,命令:cp  zoo_sample.cfg  zoo.cfg;

4、在zoo.cfg中添加如下配置:

server.1=10.**.*.84:2888:3181
server.2=10.**.*.86:2888:3181
server.3=10.**.*.89:2888:3181

2888表示follower节点与leader节点交换信息的端口号 3181  如果leader节点挂掉了, 需要一个端口来重新选举

在zoo.cfg中有一个配置dataDir,该配置表示数据文件的存储目录,在该配置对应的目录下执行命令 vim myid,创建一个myid的文件,文件就一行数据,数据内容是每台机器对应的server ID的数字,id的取值范围: 1~255; 用id来标识该机器在集群中的机器序号;

如果需要添加observer节点,zoo.cfg中 增加 peerType=observer,server.3=10.**.*.89:2888:3181:observer

5、cd到bin中,./zkServer.sh start 启动zookeeper服务端,再用./zkCli.sh -server  ip:port启客户端;

6、使用./zkServer.sh status可以查询服务器在zookeeper集群中的角色;

 

zoo.cfg配置文件分析

tickTime=2000  zookeeper中最小的时间单位长度 (ms)

 

initLimit=10  follower节点启动后与leader节点完成数据同步的时间

 

syncLimit=5 leader节点和follower节点进行心跳检测的最大延时时间

 

dataDir=***/zookeeper-3.4.10/conf/tmp/zookeeper  表示zookeeper服务器存储快照文件的目录

 

dataLogDir 表示配置 zookeeper事务日志的存储路径,默认指定在dataDir目录下

 

clientPort 表示客户端和服务端建立连接的端口号: 2181

 

zookeeper的命令操作

1. create [-s] [-e] path data acl

-s 表示节点是否有序

-e 表示是否为临时节点

默认情况下,是持久化节点

2. get path [watch]

获得指定 path的信息

wctch

zookeeper提供了分布式数据发布/订阅,zookeeper允许客户端向服务器注册一个watcher监听。当服务器端的节点触发指定事件的时候

会触发watcher。服务端会向客户端发送一个事件通知
watcher的通知是一次性,一旦触发一次通知后,该watcher就失效

 

3.set path data [version]

修改节点 path对应的data

乐观锁的概念

数据库里面有一个 version 字段去控制数据行的版本号

4.delete path [version]

删除节点,需要从最底层开始删起

 

stat信息

cversion = 0       子节点的版本号

aclVersion = 0     表示acl的版本号,修改节点权限

dataVersion = 1    表示的是当前节点数据的版本号

 

czxid    节点被创建时的事务ID

mzxid   节点最后一次被更新的事务ID

pzxid    当前节点下的子节点最后一次被修改时的事务ID

 

ctime = Sat Aug 05 20:48:26 CST 2017

mtime = Sat Aug 05 20:48:50 CST 2017

 

ephemeralOwner = 0x0   创建临时节点的时候,会有一个sessionId 。 该值存储的就是这个sessionid

dataLength = 3    数据值长度

numChildren = 0  子节点数

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值