Zookeeper-学习记录(一)

zookeeper 官网:

http://zookeeper.apache.org

 

Zookeeper 下载地址:

http://zookeeper.apache.org/releases.html

 

Zookeeper 是一个经典的分布式数据一致性解决方案,分布式应用程序可以基于它实现数据发布和订阅,负载均衡,命名服务,分布式协调和通知,集群管理,领导选举,分布式锁,分布式队列等等功能。

 

zookeeper 一般都以集群的方式对外提供服务,一个集群包含多个节点,每个节点都对应一台zookeeper服务器,所有节点对外提供服务,一般都是部署奇数。

 

zookeeper 的特性:顺序性,一致性,原子性,可靠性,实时性。

 

zookeeper 内部有一个树状的内存模型,类似于文件系统,有若干个目录,每个目录有若干个文件。zookeeper 内部把这些目录和文件统称为znode.

 

ZNode 有4种节点类型:

1 Persistent 持久节点,当会话结束,该节点不会被删除。

2 Persistent Sequential 持久顺序节点,当会话结束,该节点不会被删除,且节点名中带自增数后缀。

3 Ephemeral 临时节点,当会话结束后,该节点将会被删除。

4 Ephemeral Sequential 临时顺序节点,当会话结束后,该节点将会被删除,且节点名中自带自增数后缀。

 

 

下载安装Zookeeper:

 

http://mirror.bit.edu.cn/apache/zookeeper/

生产环境建议安装table版本

 

下载解压缩,修改配置文件。

 

Zookeeper 默认提供了一份名为zoo_sample.cfg 的示例配置文件,只需要复制conf目录下的zoo_sample.cfg 文件,并将其重命名为zoo.cfg即可。

 

liunx 系统执行以下命令即可:

 

cp /conf/zoo_sample.cfg   /conf/zoo.cfg

 

5个比较重要的配置项:

 

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper
clientPort=2181

 

tickTime  滴答时间,默认值是2000,单位毫秒。Zookeeper 配置项的最小计算时间单元。

 

initLimit  用于配置leader节点等待follower节点启动并完成数据同步的时间。默认值是10,就是10 * tickTime 。

 

syncLimit  用于配置leader节点和follower节点之间进行心跳检测的最大延长时间。默认值5,即5 * tickTime

 

dataDir  用于配置zookeeper 服务器存储快照文件的目录,生产环境不建议放在tmp目录下,该目录下的文件有可能会自动删除。在zookeeper集群环境中,将生成一个名为myid的文件,该文件用于存放zookeeper集群节点的ID。

 

clientPort  用于配置当前zookeeper服务器对外暴露的端口,默认值是2181,可以配置任意端口

 

 

启动zookeeper 

 

liunx 系统直接执行 

 

bin/zkServer.sh start

 

验证服务是否有效:

 

bin/zkServer.sh status

 

windows 直接执行 ,即可启动zookeeper

 

bin/zkServer.cmd

 

验证是否有效 

 

/bin/zkCli.cmd 127.0.0.1:2181

 

如图:

 

 

 

 

搭建zookeeper 集群环境

 

 

修改配置文件:

 

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper
clientPort=2181
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

 

server 配置格式:

server.<id>=<ip>:<port1>:<port2>

 

id 即是 集群中唯一的编号,取值范围是1~255之间的整数。特别注意的是,需要在dataDir 目录下面创建一个myid的文件,文件里面的内容就是该节点编号id的值,比如节点id是 1,则内容是1.

 

ip 节点ip地址

 

port1  表示 leader 节点和follower 节点进行心跳检测和数据同步使用的端口

 

port2  表示进行领导选举过程中,用于投票通信的端口

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值