zookeeper伪集群的搭建

由于公司服务器数量的限制,我们往往没有那么多的服务器用来搭建zookeeper的集群,所以产生了伪集群的搭建,也就是将多个zookeeper搭建在同一台机器上。

准备工作:

1,一台服务器,我们这里用虚拟机来代替,虚拟机上将jdk安装好。

2,将zookeeper安装包上传到虚拟机上。

3,将Zookeeper解压 ,创建data目录(存放数据的目录) ,将 conf下zoo_sample.cfg 文件改名为 zoo.cfg

4,建立/usr/local/zookeeper-cluster目录,将解压后的Zookeeper复制到以下三个目录(当然也可以自己定义目录)

[root@localhost ~]# mkdir /usr/local/zookeeper-cluster
[root@localhost ~]# cp -r  zookeeper-3.4.6 /usr/local/zookeeper-cluster/zookeeper-1
[root@localhost ~]# cp -r  zookeeper-3.4.6 /usr/local/zookeeper-cluster/zookeeper-2
[root@localhost ~]# cp -r  zookeeper-3.4.6 /usr/local/zookeeper-cluster/zookeeper-3

5,配置每一个Zookeeper 的dataDir(zoo.cfg) clientPort 分别为2181  2182  2183

修改/usr/local/zookeeper-cluster/zookeeper-1/conf/zoo.cfg,  同理修改其他两个。

clientPort=2181
dataDir=/usr/local/zookeeper-cluster/zookeeper-1/data

 

配置集群:

1,在每个zookeeper的 data 目录下创建一个 myid 文件,内容分别是1、2、3 。这个文件就是记录每个服务器的ID

echo "1" > /usr/local/zookeeper-cluster/zookeeper-1/data/myid
echo "2" > /usr/local/zookeeper-cluster/zookeeper-2/data/myid
echo "3" > /usr/local/zookeeper-cluster/zookeeper-3/data/myid

2,在每一个zookeeper 的 zoo.cfg配置客户端访问端口(clientPort)和集群服务器IP列表。即在每个zoo.cfg的末尾加上(机器的ip是你自己的机器ip):

server.1=192.168.25.140:2881:3881
server.2=192.168.25.140:2882:3882
server.3=192.168.25.140:2883:3883

3,启动集群:

./zkServer.sh start

4,查看zookeeper状态

./zkServer.sh status

PS:

当集群中的主服务器挂了,集群中的其他服务器会自动进行重新选举状态,然后产生新得leader。当领导者产生后,再次有新服务器加入集群,不会影响到现任领导者。

集群中挂掉的最大数不能超过半数,不然集群就不能投票选举leader了,集群就gg了。

 

Dubbox连接zookeeper集群

修改服务提供者和服务调用者的spring 配置文件

<!-- 指定注册中心地址 -->
<dubbo:registry
protocol="zookeeper" address="192.168.25.140:2181,192.168.25.140:2182,192.168.25.140:2183">
</dubbo:registry>

 

posted @ 2016-11-20 20:48  青衫仗剑  阅读(337)  评论(0编辑  收藏  举报