五ZooKeeper+ActiveMQ集群

Posted java从零起始

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了五ZooKeeper+ActiveMQ集群相关的知识,希望对你有一定的参考价值。

一、安装ZooKeeper

分别在三台服务器上解压ZooKeeper,解压完成后进入 zookeeper/conf 目录下,把 zoo_sample.cfg文件名修改为 zoo.cfg,然后在到zookeeper目录下创建 data/zkData 目录,然后在 data/zkData 目录下创建一个 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中的哪个节点下。

 
   
   
 
  1. <persistenceAdapter>

  2. <!-- <kahaDB directory="${activemq.data}/kahadb"/> -->

  3. <replicatedLevelDB

  4.     directory="${activemq.data}/leveldb"

  5.     replicas="3"

  6.     bind="tcp://0.0.0.0:62621"

  7.     zkAddress="192.168.48.128:2181,192.168.148.129:2181,192.168.48.130:2181"

  8.     hostname="192.168.48.128"

  9.     zkPath="/activemq/leveldb-stores"/>

  10. </persistenceAdapter>

三、启动

分别启动三个服务器上的ZooKeeper和Active MQ,只有是为主机的那个ActiveMQ实例能在控制台访问,从机的不行。当主宕机后重新主机,前提是存活的数量必须是所有实例的半数以上(这里是存活2个及以上才可以使用)



以上是关于五ZooKeeper+ActiveMQ集群的主要内容,如果未能解决你的问题,请参考以下文章

烂泥:ActiveMQ的集群安装与配置

ActiveMQ 高可用集群安装配置(ZooKeeper + LevelDB)

四ActiveMQ Zookeeper集群

Zookeeper + ActiveMQ 集群整合配置文档

Centos7上搭建activemq集群和zookeeper集群

ActiveMQ+ZooKeeper搭建高可用集群