选择版本
到官网下载zookpeer官网选择下载相应版本。
依赖说明
zookeeper是用Java编写的,运行在Java环境上,因此,在部署zookeeper的机器上需要安装Java运行的环境,所以我们需要安装JRE1.6或者以上的版本。
单机配置
加压zookeeper到conf目录下,复制zoo_sample.cfg为zoo.cfg,打开zoo.cfg,可以看到默认配置如下:
启动
在Windows环境下,直接双击zkServer.cmd即可。在Linux环境下,进入bin目录,执行命令
./zkServer.sh start
这个命令使得zk服务进程在后台进行。如果想在前台中运行以便查看服务器进程的输出日志,可以通过以下命令运行:
./zkServer.sh start-foreground
连接
如果是连接同一台主机上的zk进程,那么直接运行bin/目录下的zkCli.cmd(Windows环境下)或者zkCli.sh(Linux环境下),即可连接上zk。 直接执行zkCli.cmd或者zkCli.sh命令默认以主机号 127.0.0.1,端口号 2181 来连接zk,如果要连接不同机器上的zk,可以使用 -server 参数,例如:
bin/zkCli.sh -server 127.0.0.1:2181
至此,zookeeper单机服务就搭建好了。
集群模式
如果想要集群模式使用,则需要更改配置。
运行配置
在集群模式下,所有的zk进程可以使用相同的配置文件(是指各个zookeeper进程部署在不同的机器上面),例如如下配置:
tickTime=2000
dataDir=/app/zookeeper
clientPort=2181
initLimit=10
syncLimit=10
server.1=192.168.229.160:2888:3888
server.2=192.168.229.161:2888:3888
server.3=192.168.229.162:2888:3888
配置说明
启动
假如我们打算在三台不同的机器 192.168.1.1,192.168.1.2,192.168.1.3上各部署一个zk进程,以构成一个zk集群。 三个zk进程均使用相同的 zoo.cfg 配置:
tickTime=2000
dataDir=/app/zookeeper
clientPort=2181
initLimit=10
syncLimit=10
server.1=192.168.1.1:2888:3888
server.2=192.168.1.2:2888:3888
server.3=192.168.1.3:2888:3888
在三台机器dataDir目录/app/zookeeper
下,分别生成一个myid文件,其内容分别为1,2,3。然后分别在这三台机器上启动zk进程,这样我们便将zk集群启动了起来。
连接
可以使用以下命令来连接一个zk集群:
bin/zkCli.sh -server 192.168.1.1:2181,192.168.1.2:2181,192.168.1.3:2181
环境变量
export ZOOKEEPER_HOME=/app/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
查看当前状态
./zkServer.sh status
说明
本文只做学习参考,如有任何不准确的地方欢迎指正。
我的邮箱:
lulongji2011@163.com