1、准备三台服务器 ip分别为:192.168.100.128、192.168.100.129、192.168.100.133
a.修改主机名称
vi /etc/sysconfig/network
修改里面的内容HOSTNAME=server1
192.168.100.128 对应server1、192.168.100.129 对应server2、192.168.100.133 对应server3
将三台服务器分别按上面的对应修改
b.修改主机名称对应ip(三台机器都要修改)
vi /etc/hosts 内容如下: 192.168.100.128 server1 192.168.100.129 server2 192.168.100.133 server3
c.重起电脑
2、在三台服务器上安装jdk 见我另外一篇文章 http://www.cnblogs.com/lvlv/p/4337863.html
3、下载 zookeeper 下载地址 http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.10/ 下载完成后上传到服务器的/usr/soft/ 目录下并进行解压
tar -zxvf zookeeper-3.4.10.tar.gz
4、开始配置:
a,开始配置zoo.cfg文件、首先进行 /usr/soft/zookeeper-3.4.10/ 目录
cd /usr/soft/zookeeper-3.4.10/conf/
b.将zoo_sample.cfg文件命名成zoo.cfg
cp zoo_sample.cfg zoo.cfg
c.修改zoo.cfg里面的内容
dataDir=/var/zookeeper/ server.1=server1:2888:3888 server.2=server2:2888:3888 server.3=server3:2888:3888
重复 步骤a,b,c 对三台服务器都进行相同操作
d.创建指定的dataDir并生成myid文件
cd /var/
mkdir zookeeper
cd zookeeper
echo "1" myid
三台服务器生成的文件:100.128生成 "echo "1" >myid" 100.129生成 "echo "2" >myid" 100.133生成 "echo "3" >myid"
5、启动
在三台服务器的
cd /usr/soft/zookeeper-3.4.10/bin zkServer.sh start
6、检查状态
./zkServer.sh status
如果出现:model leader 或 model follower等字样讲明安装成功
关于zoo.cfg配置项的说明
- initLimit
ZooKeeper集群模式下包含多个zk进程,其中一个进程为leader,余下的进程为follower。
当follower最初与leader建立连接时,它们之间会传输相当多的数据,尤其是follower的数据落后leader很多。initLimit配置follower与leader之间建立连接后进行同步的最长时间。 - syncLimit
配置follower和leader之间发送消息,请求和应答的最大时间长度。 - tickTime
tickTime则是上述两个超时配置的基本单位,例如对于initLimit,其配置值为5,说明其超时时间为 2000ms * 5 = 10秒。 - server.id=host:port1:port2
其中id为一个数字,表示zk进程的id,这个id也是dataDir目录下myid文件的内容。
host是该zk进程所在的IP地址,port1表示follower和leader交换消息所使用的端口,port2表示选举leader所使用的端口。 - dataDir
其配置的含义跟单机模式下的含义类似,不同的是集群模式下还有一个myid文件。myid文件的内容只有一行,且内容只能为1 - 255之间的数字,这个数字亦即上面介绍server.id中的id,表示zk进程的id。
下面是server1服务器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. # do not use /tmp for storage, /tmp here is just # example sakes. dataDir=/var/zookeeper # the port at which the clients will connect clientPort=2181 # the maximum number of client connections. # increase this if you need to handle more clients #maxClientCnxns=60 # # Be sure to read the maintenance section of the # administrator guide before turning on autopurge. # # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance # # The number of snapshots to retain in dataDir #autopurge.snapRetainCount=3 # Purge task interval in hours # Set to "0" to disable auto purge feature #autopurge.purgeInterval=1 server.1=server1:2888:3888 server.2=server2:2888:3888 server.3=server3:2888:3888
搭建好zookeeper环境之后,dubbo的注册中心就可以直接使用了 “http://download.csdn.net/download/ttyyadd/10204939” dubbo调用示例