zookeeper使用的一些细节

         在使用zookeeper的过程中,我们避免不了需要配置zoo.cfg文件,在解压文件后,在conf文件夹下面并没有zoo.cfg文件,需要把zoo_sample.cfg文件做一个拷贝来重命名为zoo.cfg文件,完成了zoo.cfg文件的重命名我们就可以对该文件进行配置了。

        在单机单节点(一个zookeeper服务器启动)的情况下,我们只需要配置dataDir的文件路径就可以了,其他的可以默认配置,这个dataDir文件是用来存储data相关信息的,在里面可以添加myid文件,该文件用于指定zookeeper的顺序号,在单机多节点的情况下是必须要的,并且myid文件是没有"后缀名"的。

       在单机多节点(伪集群)的情况下,在配置dataDir路径的时候,这里我要强调的是在windows下面拷贝dataDir路径的时候因为拷贝过来的路径是形如"D:\zookperData\zookper1\data"这样的格式,但是这种格式一旦配置完成后,zookeeper是无法启动的,会出现如下错误:

2018-05-04 11:49:10,860 [myid:] - ERROR [main:QuorumPeerMain@85] - Invalid confi
g, exiting abnormally
org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Error proce
ssing D:\software\zookeeper-3.4.9\bin\..\conf\zoo.cfg
        at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerC
onfig.java:144)
        at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(Qu
orumPeerMain.java:101)
        at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain
.java:78)
Caused by: java.lang.IllegalArgumentException: D:zookperDatazookper1data\myid fi
le is missing
        at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parseProperties(Q
uorumPeerConfig.java:362)
        at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerC
onfig.java:140)
        ... 2 more
Invalid config, exiting abnormally

D:\software\zookeeper-3.4.9\bin>endlocal

        这里需要把"D:\zookperData\zookper1\data"修改为"D:/zookperData/zookper1/data",就是把"/"修改为"\",这里需要注意。

        还有一个是配置server.x的时候,配置的端口号2888:3888,其分别表示zookeeper服务之间通信的端口、zookeeper与其他应用程序通信的端口,在伪集群的情况下,server.x=B:C:D,其中x表示一个数字,代表是第几号服务器;B是服务器的IP地址;C表示服务器与集群中的"领导者"交换信息的端口号;当领导者失效后,D表示用来执行选举时的服务器相互通信的端口,并且必须有一个端口是2888:3888

猜你喜欢

转载自357029540.iteye.com/blog/2422011