ActiveMQ集群安装与配置

1. 准备环境

centOS7

zookeeper

JDK8

安装可参考:

JDK8安装: http://blog.csdn.net/qq_21299835/article/details/79333532

zookeeper集群安装:http://blog.csdn.net/qq_21299835/article/details/79444929

2. 下载ActiveMQ

下载地址:http://activemq.apache.org/download.html


3. 在集群中创建activemq文件夹,路径为/usr/activemq

cd /usr

mkdir activemq

上传apache-activemq-5.15.2-bin.tar.gz/usr/activemq


4. 解压并重命名目录

tar -zxvf apache-activemq-5.15.2-bin.tar.gz

centOS7_1 :  mv apache-activemq-5.15.2 node-01

centOS7_2 :  mv apache-activemq-5.15.2 node-02

centOS7_3 :  mv apache-activemq-5.15.2 node-03

5. 修改管控台端口, 文件在conf/jetty.xml

node-01:

   <bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start">

             <!-- the default port number for the web console -->

        <property name="host" value="0.0.0.0"/>

        <property name="port" value="8161"/>

</bean>

node-02:

<bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start">

             <!-- the default port number for the web console -->

        <property name="host" value="0.0.0.0"/>

        <property name="port" value="8162"/>

    </bean>

node-03:

<bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start">

             <!-- the default port number for the web console -->

        <property name="host" value="0.0.0.0"/>

        <property name="port" value="8163"/>

    </bean>

6. 修改activemq.xml集群配置文件 文件路径conf/activemq.xml

   node-01:

        <persistenceAdapter>

            <!-- kahaDB directory="${activemq.data}/kahadb"/ -->

            <replicatedLevelDB

             directory="${activemq.data}/leveldb"

             replicas="3"

             bind="tcp://0.0.0.0:62621"

             zkAddress="192.168.1.217:2181,192.168.1.216:2182,192.168.1.218:2183"

             hostname="192.168.1.217"

             zkPath="/activemq/leveldb-stores"

             />

        </persistenceAdapter>

   node-02:

        <persistenceAdapter>

            <!-- kahaDB directory="${activemq.data}/kahadb"/ -->

            <replicatedLevelDB

             directory="${activemq.data}/leveldb"

             replicas="3"

             bind="tcp://0.0.0.0:62622"

             zkAddress="192.168.1.217:2181,192.168.1.216:2182,192.168.1.218:2183"

             hostname="192.168.1.216"

             zkPath="/activemq/leveldb-stores"

             />

        </persistenceAdapter>

   node-03:

        <persistenceAdapter>

            <!-- kahaDB directory="${activemq.data}/kahadb"/ -->

            <replicatedLevelDB

             directory="${activemq.data}/leveldb"

             replicas="3"

             bind="tcp://0.0.0.0:62623"

             zkAddress="192.168.1.217:2181,192.168.1.216:2182,192.168.1.218:2183"

             hostname="192.168.1.218"

             zkPath="/activemq/leveldb-stores"

             />

        </persistenceAdapter>

7. 修改消息端口

node-01:

<transportConnectors>

            <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->

            <transportConnector name="openwire" uri="tcp://0.0.0.0:51511?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>

node-02:

<transportConnectors>

            <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->

            <transportConnector name="openwire" uri="tcp://0.0.0.0:51512?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>

node-03:

<transportConnectors>

            <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->

            <transportConnector name="openwire" uri="tcp://0.0.0.0:51513?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>

8. 在防火墙中打开需要的端口

(1)查看防火墙所有打开的端口

firewall-cmd --list-ports

(2)开启端口

centOS_7_1:

firewall-cmd --zone=public --add-port=62621/tcp --permanent

firewall-cmd --zone=public --add-port=51511/tcp --permanent

firewall-cmd --zone=public --add-port=8161/tcp --permanent

centOS_7_2:

firewall-cmd --zone=public --add-port=62622/tcp --permanent

firewall-cmd --zone=public --add-port=51512/tcp --permanent

firewall-cmd --zone=public --add-port=8162/tcp --permanent

centOS_7_3:

firewall-cmd --zone=public --add-port=62623/tcp --permanent

firewall-cmd --zone=public --add-port=51513/tcp --permanent

firewall-cmd --zone=public --add-port=8163/tcp --permanent

9. 重新启动防火墙

(1)关闭防火墙

systemctl stop firewalld.service

(2)开启防火墙

systemctl start firewalld.service

(3)再次查看打开的端口

firewall-cmd --list-ports

10. 启动zookeeper服务

11. 启动activemq服务

cd bin

./activemq start

查看日志

cd data

tail -f activemq.log   //日志无报错即配置成功

12. 在项目配置文件中添加mq的配置文件

   主要配置如下:

failover:(tcp://192.168.1.217:51511,tcp://192.168.1.216:51512,tcp://192.168.1.218:51513)?randomize=false



猜你喜欢

转载自blog.csdn.net/qq_21299835/article/details/79663091