linux安装activeMQ 并集群(zookeeper+levelDB)

原创
2017/02/28 16:30
阅读数 454

准备三台机子(140 141 149)

1、分别下载安装 activeMQ
# cd /usr/local/src

# wget http://mirrors.cnnic.cn/apache//activemq/5.14.2/apache-activemq-5.14.2-bin.tar.gz  

2、解压启动

# tar -zxvf apache-activemq-5.14.2-bin.tar.gz

重命名解压包,我命名的方式是activemq+机器的ip最后一位 当然你也可以不用修改 直接apache-activemq-5.14.2

# mv apache-activemq-5.14.2 activemq141

修改activemq管控台端口,也可以不用修改,此处修改是为了即使是伪集群也可以搭建,我此处

141 设置的为8161

142 设置的为8162

149 设置的为8163

#vi /usr/local/src/activemq140/conf/jetty.xml

集群配置(/usr/local/src/activemq141/conf/activemq.xml配置 ):

# vi /usr/local/src/activemq140/conf/activemq.xml

注意:此处集群的机器的 brokerName必须一致
 

机器140配置:
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="dubbomq">
<persistenceAdapter>
    <replicatedLevelDB
      directory="${activemq.data}/leveldb"
      replicas="3"
      bind="tcp://0.0.0.0:62621"
      zkAddress="192.168.40.140:2182,192.168.40.141:2183,192.168.40.149:2181"
      hostname="192.168.40.140"
      sync="local_disk"
      zkPath="/activemq/leveldb-stores"
      />
</persistenceAdapter>
</broker> 
机器141配置:
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="dubbomq">
<persistenceAdapter>
    <replicatedLevelDB
      directory="${activemq.data}/leveldb"
      replicas="3"
      bind="tcp://0.0.0.0:62622"
      zkAddress="192.168.40.140:2182,192.168.40.141:2183,192.168.40.149:2181"
      hostname="192.168.40.141"
      sync="local_disk"
      zkPath="/activemq/leveldb-stores"
      />
</persistenceAdapter>
</broker> 
机器149配置:
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="dubbomq">
<persistenceAdapter>
    <replicatedLevelDB
      directory="${activemq.data}/leveldb"
      replicas="3"
      bind="tcp://0.0.0.0:62623"
      zkAddress="192.168.40.140:2182,192.168.40.141:2183,192.168.40.149:2181"
      hostname="192.168.40.149"
      sync="local_disk"
      zkPath="/activemq/leveldb-stores"
      />
</persistenceAdapter>
</broker> 

启动之前需在防火墙上打开对应端口:

第一台机器(192.168.40.140)

#vi /etc/sysconfig/iptables

-A INPUT -p tcp -mstate --state NEW -m tcp --dport 8161 -j ACCEPT

-A INPUT -p tcp -mstate --state NEW -m tcp --dport 62621 -j ACCEPT
-A INPUT -p tcp -mstate --state NEW -m tcp --dport 51511 -j ACCEPT

第一台机器(192.168.40.141)

#vi /etc/sysconfig/iptables

-A INPUT -p tcp -mstate --state NEW -m tcp --dport 81612 -j ACCEPT

-A INPUT -p tcp -mstate --state NEW -m tcp --dport 62622 -j ACCEPT
-A INPUT -p tcp -mstate --state NEW -m tcp --dport 51512 -j ACCEPT

第一台机器(192.168.40.149)

#vi /etc/sysconfig/iptables

-A INPUT -p tcp -mstate --state NEW -m tcp --dport 8163 -j ACCEPT

-A INPUT -p tcp -mstate --state NEW -m tcp --dport 62623 -j ACCEPT
-A INPUT -p tcp -mstate --state NEW -m tcp --dport 51513 -j ACCEPT

再分别重启防火墙:

# service iptables restart

按安装顺序启动activemq:

# /usr/local/src/activemq140/bin/activemq start

# /usr/local/src/activemq141/bin/activemq start

# /usr/local/src/activemq149/bin/activemq start

 

监听日志:

# tail -f /usr/local/src/activemq140/data/activemq.log

# tail -f /usr/local/src/activemq141/data/activemq.log

# tail -f /usr/local/src/activemq149/data/activemq.log

 

设置开机启动:

# vi /etc/rc.local
su - root -c /usr/local/src/activemq140/bin/activemq start

# vi /etc/rc.local
su - root -c /usr/local/src/activemq141/bin/activemq start

# vi /etc/rc.local
su - root -c /usr/local/src/activemq149/bin/activemq start

 

运用ZooInspector(基于zookeeper)监控active运行状态:

此处三个activemq运行的程序,可以看出我们之前部署的active集群已经推举出新的master了。

其他两个从节点 只负责备份 不处理读写 只有当master挂掉以后才重新选举出master

登录控制台:账号密码为 admin/admin

可以看出 我这里已经消费了的消息记录。

 

在这里三个activemq集群中,挂掉一台集群可以正常运行,如果挂掉两台则不能运行了。

因为activemq集群是依赖zookeeper集群的 如果zookeeper集群down掉 那么activemq集群也不能正常运行

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部