ActiveMQ HA 搭建

# ActiveMQ 5.16.2软件下载

>  [windows下载](https://www.apache.org/dyn/closer.cgi?filename=/activemq/5.16.2/apache-activemq-5.16.2-bin.zip&action=download),[linux下载](https://www.apache.org/dyn/closer.cgi?filename=/activemq/5.16.2/apache-activemq-5.16.2-bin.tar.gz&action=download)

# 通用配置修改

> 1、activemq.xml-修改 brokerName

``` java

<broker xmlns="http://activemq.apache.org/schema/core" brokerName="brokerA" dataDirectory="${activemq.data}">

```

> 2、activemq.xml-修改支持通信协议

``` java

<transportConnector name="openwire" uri="tcp://0.0.0.0:61617?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>

            <!--

            <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>

            <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>

            <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>

            <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>

            -->

```

> 3、jetty.xml-修改admin启动端口

```java

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

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

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

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

    </bean>

```

# 单机HA部署(共享文件夹)

> 1、每一个软件activemq.xml-共享文件夹配置

```java

 <persistenceAdapter>

            <kahaDB directory="D:\micro-component\activeMQ\mqcluster\mq1\apache-activemq-5.16.2\data\kahadb" />

        </persistenceAdapter>

```

# 多机HA部署(共享数据库)

> 1、mysql [数据驱动](https://gitee.com/fhz/active-mq-jdbc-dependency.git)jar导入activeMQ/lib

> 2、activemq.xml-配置数据库

```java

    <bean id="mysql-db" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">

        <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>

        <property name="url" value="jdbc:mysql://10.159.0.0:13306/mq?relaxAutoCommit=true" />

        <property name="username" value="root"/>

        <property name="password" value="root" />

        <property name="maxActive" value="200"/>

        <property name="poolPreparedStatements" value="true"/>

        

    </bean>

```

> 3、activemq.xml-实例化配置

```java

        <persistenceAdapter>

            <jdbcPersistenceAdapter  dataSource="#mysql-db" />

        </persistenceAdapter>

```

# 多机HA部署(zookeeper)

> 配置描述

| 主机| 服务端口| 主从实例间的通讯端口(动态)| jetty控制台端口| 

| :-----| :-----| :-----| :-----|

|127.0.0.1|61616|tcp://0.0.0.0:0|8161|

|127.0.0.1|61617|tcp://0.0.0.0:0|8162|

|127.0.0.1|61618|tcp://0.0.0.0:0|8163|

> 2、activemq.xml-修改持久化策略

```

<!--

    replicas - 当前主从模型中的节点数,根据实际配置

    bind - 主从实例间的通讯端口。(可动态,可指定,动态如tcp://0.0.0.0,指定tcp://0.0.0.0:62626分别配置为62626、62627、62628)

    zkAddress - zookeeper应用的安装位置

    zkPath - ActiveMQ的主从信息保存在zookeeper中的什么目录

    hostname - ActiveMQ实例安装的实际linux主机名。可在 /etc/hosts 中进行配置,设置格式:ip 主机名

-->

<persistenceAdapter>

            <replicatedLevelDB

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

                         replicas="3"

                         bind="tcp://0.0.0.0:0"

                         zkAddress="127.0.0.1:2181"

                         zkPath="/activemq/leveldb-stores"

                         hostname="10.159.110.0"

                />

        </persistenceAdapter>

```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

woniyu123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值