zookeeper的环境搭建

zookeeper是hadoop大家族的一个成员,是Apache的一个产品。我使用到zookeeper的主要原因是:Zookeeper作为Dubbo服务的注册中心,能与dubbo做到集群部署。当提供者出现断电等异常停机时,Zookeeper注册中心能自动删除提供者信息,当提供者重启时,能自动恢复注册数据,以及订阅请求。

关于zookeeper的介绍和原理

http://blog.csdn.net/guchuanyun111/article/details/52091318
https://holynull.gitbooks.io/zookeeper/content/

下载

http://apache.fayea.com/zookeeper/可以直接下载想要的zookeeper版本。

单机部署

下载解压好zookeeper之后,需要在conf文件夹中创建zoo.cfg文件,然后设置相关的参数

zoo.cfg参数配置

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
dataDir=/Users/vobile_lzl/Documents/zookeeper-3.3.6/data/
# the directory where the logs is stored.
dataLogDir=/Users/vobile_lzl/Documents/zookeeper-3.3.6/logs/
# the port at which the clients will connect
clientPort=2181

dataDir 文件属于自定义文件,由自己来创建
dataDirLog 类似

启动与关闭

  • 后台运行
    ./bin/zkServer.sh start
    这里写图片描述

  • 非后台运行
    bin/zkServer.sh start-foreground

  • 验证
    telnet 127.0.0.1 2181

  • 停止
    ./bin/zkServer.sh stop

伪分布式集群部署

在一台机器上模拟zookeeper监听3个端口的实例。
这里需要配置3个zoo*.cfg文件,
每个zoo*.cfg文件分别指定不同的dataDir,并在dataDir文件中创建myid文件。
假定已经创建好data_1、data_2、data_3和log_1、log_2、log_3

创建myid

echo "1" > data/data_1/myid
echo "2" > data/data_2/myid
echo "3" > data/data_3/myid

创建并编辑zoo*.cfg

其余的文件与zoo1.cfg类似,只是dataDir和dataDirLog需要设置相应的路径

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
dataDir=/Users/vobile_lzl/Documents/zookeeper-3.3.6/data/data_1
# the directory where the logs is stored.
dataLogDir=/Users/vobile_lzl/Documents/zookeeper-3.3.6/logs/log_1
# the port at which the clients will connect
clientPort=2181
server.1=127.0.0.1:2222:2225  
server.2=127.0.0.1:3333:3335  
server.3=127.0.0.1:4444:4445

关于配置文件的详情可以参考
https://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/index.html

启动zookeeper集群

依次启动服务端

./bin/zkServer.sh start conf/zoo1.cfg
./bin/zkServer.sh start conf/zoo2.cfg
./bin/zkServer.sh start conf/zoo3.cfg

依次启动客户端

bin/zkCli.sh -server 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183

验证端口
jps

2752 QuorumPeerMain
3712 Launcher
546 
3752 Jps
2954 QuorumPeerMain
2764 QuorumPeerMain
3294 RemoteMavenServer

到此为止zookeeper的安装和部署顺利结束。目前只是初步了解zookeeper的这些内容,还有它与bubbo之间的结合。
主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储,但是 Zookeeper 并不是用来专门存储数据的,它的作用主要是用来维护和监控你存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值