一、准备工作:

准备三台机器:
192.168.35.111
192.168.35.112
192.168.35.113

二、搭建zookeeper

三台机器上均要搭建zookeeper服务
// 下载zookeeper安装包

# wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
# tar -xvf zookeeper-3.4..tar.gz -C /opt
# cd /opt/zookeeper-3.4./conf/
# cp zoo_sample.cfg zoo.cfg

// 修改zoo.cfg文件
# grep -Ev '#|^$' zoo.cfg

tickTime=
initLimit=
syncLimit=
dataDir=/opt/zookeeper-3.4./data_zookeeper
clientPort=
server.=192.168.35.111::
server.=192.168.35.112::
server.=192.168.35.113::

// 第一个端口是master和slave之间的通信端口,默认是2888,第二个端口是leader选举的端口,集群刚启动的时候选举或者leader挂掉之后进行新的选举的端口默认是3888

这一步很重要,如果顺序对应的数字不对,,会导致zookeeper服务启动失败
server.1服务器:echo 1 > /opt/zookeeper-3.4.10/zookeeper/myid
server.2服务器:echo 2 > /opt/zookeeper-3.4.10/zookeeper/myid
server.3服务器:echo 3 > /opt/zookeeper-3.4.10/zookeeper/myid

// 启动zookeeper服务

# /opt/zookeeper-3.4./bin/zkServer.sh start #启动服务
# /opt/zookeeper-3.4./bin/zkServer.sh stop #停止服务
# /opt/zookeeper-3.4./bin/zkServer.sh restart #重启服务
# /opt/zookeeper-3.4./bin/zkCli.sh #连接集群

三、搭建activemq集群

三台机器上均要搭建activemq服务
// 下载activemq安装包

# wget https://archive.apache.org/dist/activemq/5.12.0/apache-activemq-5.12.0-bin.tar.gz
# tar -xvf apache-activemq-5.12.-bin.tar.gz -C /opt

// 修改配置文件 activemq.xml,使用性能比较好的LevelDB替换掉默认的KahaDB

brokerName 一定要设置相同
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="activemq-test" dataDirectory="${activemq.data}">
禁掉 原来的 < kahaDB directory="${activemq.data}/kahadb"/ >
<persistenceAdapter>
<!--kahaDB directory="${activemq.data}/kahadb"/ -->
<replicatedLevelDB
directory="${activemq.data}/leveldb"
replicas="3"
bind="tcp://0.0.0.0:62621"
zkAddress="192.168.35.111:2181,192.168.35.112:2182,192.168.35.113:2183"
hostname="192.168.37.111" # 设为当前主机的ip
zkPath="/activemq/leveldb-stores"/>
</persistenceAdapter>

配置项说明:
directory:持久化数据存放地址
replicas:集群中节点的个数
bind:集群通信端口
zkAddress:ZooKeeper集群地址
hostname:当前服务器的IP地址,如果集群启动的时候报未知主机名错误,那么就需要配置主机名到IP地址的映射关系。
zkPath:ZooKeeper数据挂载点
至此,ActiveMQ的高可用集群搭建完成。

四、启动集群

前提:ZooKeeper集群已启动
分别启动三台ActiveMQ服务器

# /opt/apache-activemq-5.12./bin/activemq start // 启动activemq服务
# /opt/apache-activemq-5.12./bin/activemq stop // 结束activemq服务
# /opt/apache-activemq-5.12./bin/activemq restart // 重启activemq服务
# /opt/apache-activemq-5.12./bin/activemq status // 查看activemq服务状态

集群启动成功后,ActiveMQ会往ZooKeeper中注册集群信息。为了方便,我们使用ZooInspector工具来查看具体的内容。
第一条注册信息:

其他两个

从以上三条注册信息的内容我们可以看出,(192.168.35.182)被选举为主节点,并对外提供服务,其余两个节点作为从节点,处于待机状态,不提供服务。

知道了ActiveMQ集群的主节点后,我们可以使用浏览器来访问它的管理页面,查看它是否能正常提供服务.

五、测试集群的高可用性
关掉主节点,使用ZooInspector工具来查看具体的内容,发现主节点的ip地址换了,并且节点显示只剩下两个。

最新文章

  1. 主流的单元测试工具之-JAVA新特性-Annotation 写作者:组长 梁伟龙
  2. 2016 Multi-University Training Contest 2 - 1005 Eureka
  3. hdu 3089 约瑟夫环
  4. MYSQL 的一些文件及说明
  5. 分享一个客户端程序(winform)自动升级程序,思路+说明+源码
  6. 《C++Primer》复习——with C++11 [3]
  7. .net通过获取客户端IP地址反查出用户的计算机名
  8. QQ粘性效果
  9. youphp学习整理
  10. Bitmap 与ImageSource之间的转换
  11. 用百度API实现热(WIFI)、GPS、基站定位
  12. $pull
  13. PHP大批量插入mysql数据库的优化
  14. 420小时学习代码之后:如何教你免费自学Python
  15. JavaEE中的MVC(三)定制Struts——命令模式
  16. 【Flask】 Jinja2模板语言
  17. C. Edgy Trees
  18. Glad You Came hdu-6356(ST表 || 线段树)
  19. abtestingGateway错误集锦
  20. python pip 下载慢 配置使用国内源配置

热门文章

  1. 手机APP流量的发送与获取功能的实现
  2. 小米监控--Open-Falcon
  3. linux常用命令(11)less命令
  4. Git命令与介绍
  5. 【Python开发】Python:itertools模块
  6. BP原理 - 前向计算与反向传播实例
  7. C#连接oracle数据库报错:OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用
  8. [转帖]ORA-00600: internal error code, arguments: [4193]问题解决
  9. ZooKeeper原理及介绍
  10. [转]C#集合类型大揭秘