【zookeeper】Windows下zookeeper的安装配置

版权声明:【本文为博主原创文章或收集整理,未经博主允许不得转载】 https://blog.csdn.net/zsq520520/article/details/72824925

ZooKeeper是一个分布式开源框架,供了协调分布式应用的基本服务。这些天在使用DUBBO,由于开发环境是在windows环境下,需要能够先运行ZooKeeper,然后在此基础上实现服务的地址分配。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
ZooKeeper包含一个简单的原语集,提供Java和C的接口。
ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在zookeeper-3.4.9\src\recipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本。

在下面,先搭建一个单机模式的的ZooKeeper环境。

首先从将zookeeper下载下来。本人在这里下载的是3.4.9,下载地址在这里(http://mirror.bit.edu.cn/apache/zookeeper/

下载后再将其解压到指定的目录中,我是解压到D盘中的,如下图所示:


复制zookeeper-3.4.9\conf目录下的zoo_sample.cfg文件改名为zoo.cfg:


zookeeper-3.4.9目录下新建两个文件夹,分别是data和logs。


修改zoo.cfg配置文件:


配置文件简单解析:
1、tickTime:基本事件单元,以毫秒为单位。这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,它用来控制心跳和超时,也就是每个 tickTime 时间就会发送一个心跳。默认情况下最小的会话超时时间为两倍的 tickTime。
2、clientPort:监听客户端连接的端口。这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。
3、dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
4、dataLogDir:顾名思义就是 Zookeeper 保存日志文件的目录

完成后进入zookeeper-3.4.9\bin目录下,使用命令或直接点击zkServer.cmd启动zookeeper。这是有遇到两个问题,一是Error: JAVA_HOME is not set.如下:

因为我的Java环境并不是通过JAVA_HOME来配置的,所以zookeeper默认是:


set的时候是在下面的,而上面的JAVA_HOME就找不到了,于是将set的配置移至第一个if前面了,并设置Java jdk的路径即可。如下图:


这样的话就可以解决该问题了。但是再次启动出现另一个问题是Error: JAVA_HOME is incorrectly set.如:


该问题的原因是在Windows下java默认安装装在C:\Program Files\Java\jdk1.xxx下,路径中存在空格,启动时会找不到正确的路径,在JAVA_HOME上加""即可。


这样修改后即可启动成功了。


有时候还会遇到这样的错误:


这个问题的原因是set JAVA_HOME的路径有错或没有清楚data和log(logs)文件目录的问价所致,清楚即可。

全程就只修改了两个文件:一个是zoo.cfg;另一个是zkEnv.cmd;其他不需要修改。

到此zookeeper就安装好了。

猜你喜欢

转载自blog.csdn.net/zsq520520/article/details/72824925