赞
踩
Zookeeper作为一款优秀的注册中心,其安装和配置都十分简单,单机模式、集群模式配置方便,而且其安装包windows和linux下通用,下载地址如下:
http://zookeeper.apache.org/releases.html
---------------------------------------------------------windows环境下-----------------------------------------------------
解压下载好的zookeeper文件,进入zookeeper目录下的conf子目录, 创建zoo.cfg文件:
---------------------------------------------------------Linux环境下-----------------------------------------------------
同windows下的配置,只不过启动时记得chmod 加权限
./zkServer.sh start
在启动时可能会出现“zookeeper_server.pid: No such file or directory”这种问题,解决方案如下来自“http://www.xuebuyuan.com/1022921.html”,使用vi打开zkServer.sh文件,按下方法更改插入红色部分文字即可:
dataDir应该是zookeeper进程内部建立的, 并且有一定延迟, 因此将zookeeper进程id写入到dataDir下的pidfile时, dataDir还没有建立好, 因此就出现了上述情况.解决办法很简单, 在写入pid之前先判断一下datadir是否存在, 让zookeeper有时间做完初始化, 然后再将pid写入即可.
在这里需要多讲的就是“伪集群模式”和“集群模式”,以下部分来源于“http://coolxing.iteye.com/blog/1871009”
该两种方案配置方法类似,其都是对zoo.cfg文件进行修改:
参照zookeeper0/conf/zoo.cfg, 配置zookeeper1/conf/zoo.cfg, 和zookeeper2/conf/zoo.cfg文件. 只需更改dataDir, dataLogDir, clientPort参数即可.
在之前设置的dataDir中新建myid文件, 写入一个数字, 该数字表示这是第几号server. 该数字必须和zoo.cfg文件中的server.X中的X一一对应.
/Users/apple/zookeeper0/data/myid文件中写入0, /Users/apple/zookeeper1/data/myid文件中写入1, /Users/apple/zookeeper2/data/myid文件中写入2.
分别进入/Users/apple/zookeeper0/bin, /Users/apple/zookeeper1/bin, /Users/apple/zookeeper2/bin三个目录, 启动server.
任意选择一个server目录, 启动客户端:
集群模式的配置和伪集群基本一致.
由于集群模式下, 各server部署在不同的机器上, 因此各server的conf/zoo.cfg文件可以完全一样.
下面是一个示例:
示例中部署了3台zookeeper server, 分别部署在10.1.39.43, 10.1.39.47, 10.1.39.48上. 需要注意的是, 各server的dataDir目录下的myid文件中的数字必须不同.
10.1.39.43 server的myid为43, 10.1.39.47 server的myid为47, 10.1.39.48 server的myid为48.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。