您的位置:首页 > 运维架构 > Linux

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

2017-02-28 16:30 169 查看
原文链接:https://my.oschina.net/u/3226688/blog/847869

准备三台机子(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集群也不能正常运行

转载于:https://my.oschina.net/u/3226688/blog/847869

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: