今天终于在VMware上的虚拟机集群中运行起了Zookeeper,昨天安装遇到了一些小问题,搞得比较头大,还好今天解决了,于是想把这一问题记录下来。应该说Zookeeper的安装还是比较简单的,主要需要配置的就是zoo.cfg和myid。zookeeper的集群中的每台服务器是对等的,没有master和slave之分,所以所有的服务器的配置方法是相同的,现以一台服务器为例详细介绍之:
1. 下载Zookeeper最新版,解压到指定文件夹,比如/home/takemu/zookeeper-3.3.4
2.  安装Java虚拟机
3.  设置环境变量(这一步不是必须的,主要是为了使用Zookeeper方便),打开/etc/profile,添加如下几句:

#Set ZooKeeper Enviroment 
export ZOOKEEPER_HOME=/home/takemu/zookeeper-3.3.4
export PATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf 


4. 修改conf/zoo.cfg。在%ZOOKEEPER_HOME%/conf下我们可以看到zoo_sample.cfg,把它改名为zoo.cfg,打开,看到如下内容:

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
dataDir=/tmp/zookeeper
# the port at which the clients will connect
clientPort=2181


修改如下(略去注释):

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/takemu/zookeeper-3.3.4/data   #此处修改
clientPort=2181
#添加
server.1=192.168.21.10:7000:7001 
server.2=192.168.21.11:7000:7001 
server.3=192.168.21.12:7000:7001 


其中server.id=host:port:port标识了不同的Zookeeper服务器,这些服务器作为集群的一部分应该知道集群中的其他机器。接下俩,在dataDir指定的文件夹下创建一个文件名为myid的文件,这个文件中仅含一行内容,即该服务器的id值(1、2或者3)

至此,配置工作就结束了。进入bin目录下,运行命令zkServer.sh start,显示


运行命令jps,若出现QuorumPeerMain进程,则说明Zookeeper运行了。照此方法,启动其他服务器上的Zookeeper。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐