ZooKeeper集群 - 极悦
JMS&ActiveMQ教程
基于JMS的消息传送
ActiveMQ与Spring集成
ActiveMQ与SpringBoot集成
ActiveMQ安全机制
ActiveMQ主从集群

ZooKeeper集群

ZooKeeper作为一个服务,它本身也可能发生故障,所以我们也需要将Zookeeper进行集群,避免单点故障问题,以保证ZooKeeper本身的高可用性,那么我们需要搭建奇数台Zookeeper构成一个Zookeeper的集群。

zk集群特点

集群中只要有超过半数的机器是正常工作的,那么整个集群对外就是可用的。

zk集群配置

1、下载安装3个Zookeeper

因为ZooKeeper也是和Tomcat一样,解压就能用,所以我们直接在/usr/local目录下复制即可。

2、将3个ZooKeeper中conf目录下的zoo_sample.cfg复制一份,改为zoo.cfg

因为我们是直接复制的,目前这个zoo.cfg已经存在了。

3、配置zoo.cfg文件

● dataDir=/usr/local/zookeeper-3.4.10-01|02|03/data

● clientPort=2182|2183|2184

● 添加zk之间沟通及选举的server信息,如果是不同机器,端口可以相同

server.1=localhost:2888:3888

server.2=localhost:2889:3889

server.3=localhost:2890:3890

格式: server.A=B:C:D:

A是一个数字,表示这个是第几号服务器,

B是这个服务器的ip地址

C第一个端口用来集群成员的信息交换,表示的是这个服务器与集群中的Leader服务器交换信息的端口

D是在leader挂掉时专门用来进行选举leader所用

4、创建三个dataDir目录

/usr/local/zookeeper-3.4.10-01/data

/usr/local/zookeeper-3.4.10-02/data

/usr/local/zookeeper-3.4.10-03/data

因为我们是复制的zk,所以这些目录是存在的,我们将原来data目录下的内容删除,执行 rm –rf *

5、每个data目录中都创建一个名为myid的文件

3个文件的内容分别写1、2、3;

这个1、2、3是对应前面的server.1、 server.2、 server.3;

执行

echo 1 > myid 
echo 2 > myid 
echo 3 > myid 

至此一个zookeeper的集群就搭建OK啦。

6、 broker配置

persistenceAdapter>
    <replicatedLevelDB
    replicas="3"
    bind="tcp://0.0.0.0:0"
    zkAddress="localhost:2182,localhost:2183,localhost:2184"/>
</persistenceAdapter>

7、启动zk,启动ActiveMQ进行测试

全部教程