activeMQ集羣的安裝
1.解壓
tar zxvf apache-activemq-5.13.3-bin.tar.gz
2.移動解壓目錄分別生成不同的節點
cp -r apache-activemq-5.13.3 /usr/local/ActiveMQ-node1
cp -r apache-activemq-5.13.3 /usr/local/ActiveMQ-node2
cp -r apache-activemq-5.13.3 /usr/local/ActiveMQ-node3
3,修改每一個節點的註冊方式爲zookeeper (注意是每一個節點)
vim /usr/local/ActiveMQ-node1/conf/activemq.xml
註釋一下信息:
<!--
#81 <persistenceAdapter>
#82 <kahaDB directory="${activemq.data}/kahadb"/>
#83 </persistenceAdapter>
-->
添加如下內容:
<persistenceAdapter>
<replicatedLevelDB
directory="${activemq.data}/leveldb"
replicas="3"
bind="tcp://0.0.0.0:0"
zkAddress="192.168.31.66:2181,192.168.31.66:2182,192.168.31.66:2183"
hostname="192.168.31.66"
sync="local_disk"
zkPath="/activemq/leveldb-stores"/>
</persistenceAdapter>
================================================================================================
說明:
<persistenceAdapter>
<replicatedLevelDB
directory="${activemq.data}/leveldb"
replicas="3" 節點數
bind="tcp://0.0.0.0:0" 對外所有ip提供服務
zkAddress="192.168.31.66:2181,192.168.31.66:2182,192.168.31.66:2183" 向zookeeper上註冊的ip和監聽的端口
hostname="192.168.31.66" 本機的ip
sync="local_disk" 存儲數據爲本地硬盤
zkPath="/activemq/leveldb-stores"/>
</persistenceAdapter>
================================================================================================
4.修改每一個節點的監聽端口
修改每一個實例的監聽端口,修改openwire的值,一個實例端口分別爲61616,61617,61618
vim /usr/local/ActiveMQ-node1/conf/activemq.xml
<transportConnectors>
<!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
<transportConnector name="openwire" uri="tcp://0.0.0.0:61617?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
</transportConnectors>
5.如果在一臺物理機上做三個節點,必須修改節點的默認管理端口,否側端口占用
vim /usr/local/ActiveMQ-node1/conf/jetty.xml
#115 <property name="port" value="8162"/> 默認爲8161
6.分別啓動,關閉三個節點,查看三個節點的狀態
/usr/local/ActiveMQ-node1/bin/activemq start/status/stop
7.將集羣節點添加爲系統服務並設爲開機自啓
節點一
vim /etc/init.d/activemq-node1
#!/bin/sh
# activemq
# chkconfig: 345 63 37
# description: activemq-node1
. /etc/rc.d/init.d/functions
. /etc/sysconfig/network
case $1 in
start)
sh /usr/local/activeMQ-node1/bin/activemq start
;;
stop)
sh /usr/local/activeMQ-node1/bin/activemq stop
;;
status)
sh /usr/local/activeMQ-node1/bin/activemq status
;;
restart)
sh /usr/local/activeMQ-node1/bin/activemq stop
sh /usr/local/activeMQ-node1/bin/activemq start
;;
esac
exit 0
添加執行權限
chmod +x /etc/init.d/activemq-node1
添加系統服務,設爲開機自啓
chkconfig --add activemq-node1
chkconfig activemq-node1 on
節點二,節點三類似如上,注意節點目錄