ZooKeeper安装分为单机安装、集群安装,一般在开发、测试环境使用单机版,而在生产环境使用集群。
单机安装
下载地址 ,这里选择下载zookeeper-3.4.13版
下载后解压缩:
tar -zxvf zookeeper-3.4.13.tar.gz
进入解压缩后的目录
cd zookeeper-3.4.13/
创建data目录和log目录
mkdir datamkdir log
进入conf目录下,复制一份zoo_sample.cfg 为 zoo.cfg
cd conf/ cp zoo_sample.cfg zoo.cfg
修改zoo.cfg内容如下,主要修改dataDir和logDir的路径,至于其它配置可根据自己情况去修改。
tickTime :执行心跳时间
dataDir :存储内存数据库快照的位置
logDir : 存储日志信息的位置
clientPort :侦听客户端连接的端口
启动ZooKeeper:
bin/zkServer.sh start
连接ZooKeeper:
bin/zkCli.sh -server 127.0.0.1:2181
如果要停止zookeeper服务,使用命令:
bin/zkServer.sh stop
集群安装
对于集群模式,至少需要三台服务器,服务器数量强烈建议为奇数。如果您只有两台服务器,那么您处于这样的情况:如果其中一台服务器出现故障,则没有足够的机器来构成多数仲裁。两台服务器本质上 不如 单一服务器稳定,因为有两个单点故障。
需要在dataDir的路径下,即zk的data目录下创建myid文件,在myid文件中只需要写上一行内容,且内容只能为1 - 255之间的数字,标识所属的zk服务。
修改conf下的zoo.cfg配置文件如下:
tickTime=2000initLimit=10syncLimit=5dataDir=/mywork/zookeeper-3.4.13/datalogDir=/mywork/zookeeper-3.4.13/logclientPort=2181server.1=192.168.0.101:2888:3888server.2=192.168.0.102:2888:3888server.3=192.168.0.103:2888:3888
initLimit:follower与leader之间建立连接后进行同步的最长时间
syncLimit:配置follower和leader之间发送消息,请求和应答的最大时间长度。initLimit和syncLimit均以tickTime做为时间单位,initLimit=10 即为10个2000毫秒server.x=host:port1:port2 中的数字x即为myid文件的内容,host为所在机器的IP,port1为follower和leader交换消息所使用的端口,port2表示选举leader所使用的端口在集群中,每台机器的zk服务的配置文件都是一样的。
要连接一个zookeeper集群,可以使用如下命令:bin/zkCli.sh -server 192.168.0.101:2181,192.168.0.102:2181,192.168.0.103:2181