五ZooKeeper+ActiveMQ集群
Posted java从零起始
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了五ZooKeeper+ActiveMQ集群相关的知识,希望对你有一定的参考价值。
一、安装ZooKeeper
分别在三台服务器上解压ZooKeeper,解压完成后进入 zookeeper/conf
目录下,把 zoo_sample.cfg
文件名修改为 zoo.cfg
,然后在到zookeeper目录下创建 data/zkDat
a 目录,然后在 data/zkDat
a 目录下创建一个 myid
文件,myid里面的内容是一个大于0的一个自然数,这个自然数就代表ZooKeeper服务器的编号。接着编辑 zoo.cfg
配置文件,如下图:
需要配置两个地方:
1)dataDir:刚创建的data/zkData目录的绝对路径
2)就是服务器的配置
配置参数:
server.A=B:C:D
A 是一个数字,表示这是第几号服务器(这个数字就是myid文件里的内容);
C 表示当前服务器与集群中的Leader服务器交互的端口号;
D 表示如果集群中的Leader服务器挂了(宕机等),需要一个端口来重新选举出一个新的Leader,而这个端口就是用来选举时服务器相互通信的端口。
二、安装ActiveMQ
分别在三台服务器上解压ActiveMQ,然后到ActiveMQ的conf目录下编辑activemq.xml文件。
1)统一所有主从节点broker命名
2)修改持久化配置
修改 conf/activemq.xml
文件。修改 broker
标签中子标签 persistenceAdapter
相关内容。
replicas:表示当前主从模型中的节点数量(这里是3个),按需配置
bind:这里的端口表示主从实例之间的通讯端口。代表当前实例对外开发的端口是什么,三个实例的端口分别为:62621、62622、62623。
zkPath:表示ActiveMQ的主从信息保存到ZooKeeper中的哪个节点下。
<persistenceAdapter>
<!-- <kahaDB directory="${activemq.data}/kahadb"/> -->
<replicatedLevelDB
directory="${activemq.data}/leveldb"
replicas="3"
bind="tcp://0.0.0.0:62621"
zkAddress="192.168.48.128:2181,192.168.148.129:2181,192.168.48.130:2181"
hostname="192.168.48.128"
zkPath="/activemq/leveldb-stores"/>
</persistenceAdapter>
三、启动
分别启动三个服务器上的ZooKeeper和Active MQ,只有是为主机的那个ActiveMQ实例能在控制台访问,从机的不行。当主宕机后重新主机,前提是存活的数量必须是所有实例的半数以上(这里是存活2个及以上才可以使用)
以上是关于五ZooKeeper+ActiveMQ集群的主要内容,如果未能解决你的问题,请参考以下文章
ActiveMQ 高可用集群安装配置(ZooKeeper + LevelDB)