linux下部署ActiveMQ+zookeeper+levelDB模式的主备集群

本次ActiveMQ安装,准备了3台物理机,分别为:

第一台:192.168.101.21

第二台:192.168.101.22

第三台:192.168.101.23

安装如下:

1:在进行activemq+zookeeper模式之前,要先安装zookeeper集群,这里就不在进行zookeeper的安装展示了。

2:下载apache-activemq-5.14.5-bin.tar.gz到/usr/softwar下;

3:把apache-activemq-5.14.5-bin.tar.gz拷贝到/usr/program目录下:

      cp apache-activemq-5.14.5-bin.tar.gz /usr/program/

7:解压缩 apache-activemq-5.14.5-bin.tar.gz,解压后在/usr/program下就会有一个activemq-5.14.5的文件夹
    tar -zxvf apache-activemq-5.14.5-bin.tar.gz

8:把activemq-5.14.5改名为:activemq

     mv apache-activemq-5.14.5-bin.tar.gz  activemq

9:转到/user/program/activemq/conf目录下

  cd /usr/program/activemq/conf

10:修改activemq.xml文件,统一参与集群的节点的brokerName为同一名称:activemq-cluster

    注意:每个 ActiveMQ 的 BrokerName 必须相同,否则不能加入集群。

11:配置persistenceAdapter节点

注意修改persistenceAdapter节点

  • replicas:集群中节点的数量,默认配置3
  • bind:当这个节点成为主节点后,就会默认绑定当前IP和端口,用于与其他slave节点通信
  • zkAddress:三台zookeeper的服务ip和端口,用逗号隔开
  • zkPath:默认不用改
  • hostname:填写三台zookeeper可以互相访问的地址,由于配置的是同一台机器,所以写的127.0.0.1,如果部署的是三台内网,这里就写相应的那台机器的内网IP。

12:三台机器只按同样的配置进行配置,配置好后进行启动(启动之前要先启用zookeeper)

     /usr/program/activemq/bin/activemq start

如果启动失败,检查是否开启的防火墙没有开发端口,开启防火墙,要把端口打开(或者关闭防火墙):

user@ vi /etc/sysconfig/iptables 
-A INPUT -m state –state NEW -m tcp -p tcp –dport 218X -j ACCEPT 
-A INPUT -m state –state NEW -m tcp -p tcp –dport 288X -j ACCEPT 
-A INPUT -m state –state NEW -m tcp -p tcp –dport 388X -j ACCEPT 
user@ service iptables restart

13:集群的节点状态分析:

 集群启动后对 ZooKeeper 数据的抓图

可以看到ActiveMQ 的有3 个节点,我这里是 00000000005,00000000006,00000000007,其中192.168.101.21为activemq的Master

13:集群可用性测试

ActiveMQ的客户端只能访问Master的Broker,其他处于Slave的Broker不能访问,所以客户端连接的Broker应该使用failover协议(失败转移)

failover:(tcp://192.168.1.81:51511,tcp://192.168.1.82:51512,tcp://192.168.1.83:51513)?randomize=false

 

 

14:集群高可用测试

           当一个ActiveMQ节点挂掉,或者一个Zookeeper节点挂掉,ActiveMQ服务依然正常运转,如果仅剩一个ActiveMQ节点,因为不能选举Master,ActiveMQ不能正常运行:同样的,如果Zookeeper仅剩一个节点活动,不管ActiveMQ各节点存活,ActiveMQ也不能正常提供服务。(ActiveMQ集群的高可用,依赖于Zookeeper集群的高可用)

 

15:设置开机启动

#vi /etc/rc.local

su - root -c '/usr/program/activemq/bin/activemq start'

su - root -c 'usr/program/activemq/bin/activemq start'

su - root -c 'usr/program/activemq/bin/activemq start'

 

注意:这里 su - 提切换用户  -c 是要执行的命令

 

16、负载均衡集群:http://www.roncoo.com/article/detail/125880

 

posted @ 2017-07-28 15:27  一只小鸟  阅读(522)  评论(0)    收藏  举报