windows搭建ActiveMQ伪集群

注:本次搭建 ActiveMQ 伪集群依赖 zookeeper 集群,请先搭建好 zookeeper 集群

一、规划 ActiveMQ 伪集群端口

主机IP:127.0.0.1

控制台端口:8161;8162;8163

集群通信端口:5151;5152;5153

消息端口:6161;6162;6163

zookeeper消息端口:2181;2182;2183

二、解压 apache-activemq-5.15.5-bin.zip 到指定目录

三、分别修改 conf 目录下的 jetty.xml 配置文件

D:\clustering-space\apache-activemq-5.15.5\apache-activemq-5.15.5-8161-5151-6161\conf\jetty.xml

...省略代码...
<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>
...省略代码...

D:\clustering-space\apache-activemq-5.15.5\apache-activemq-5.15.5-8162-5152-6162\conf\jetty.xml

...省略代码...
<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>
...省略代码...

D:\clustering-space\apache-activemq-5.15.5\apache-activemq-5.15.5-8163-5153-6163\conf\jetty.xml

...省略代码...
<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>
...省略代码...

四、分别修改 conf 目录下的 activemq.xml 配置文件

D:\clustering-space\apache-activemq-5.15.5\apache-activemq-5.15.5-8161-5151-6161\conf\activemq.xml

...省略代码...
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="activemq-cluster" dataDirectory="${activemq.data}">
...省略代码...
<persistenceAdapter>
    <!--<kahaDB directory="${activemq.data}/kahadb"/>-->
    <replicatedLevelDB
        directory="${activemq.data}/leveldb"
        replicas="3"
        bind="tcp://0.0.0.0:5151"
        zkAddress="127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183"
        hostname="127.0.0.1"
        zkPath="/activemq/leveldb-stores"/>
</persistenceAdapter>
...省略代码...
<transportConnectors>
    <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
    <transportConnector name="openwire" uri="tcp://0.0.0.0:6161?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"/>
</transportConnectors>
...省略代码...
</broker>
...省略代码...

D:\clustering-space\apache-activemq-5.15.5\apache-activemq-5.15.5-8162-5152-6162\conf\activemq.xml

...省略代码...
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="activemq-cluster" dataDirectory="${activemq.data}">
...省略代码...
<persistenceAdapter>
    <!--<kahaDB directory="${activemq.data}/kahadb"/>-->
    <replicatedLevelDB
        directory="${activemq.data}/leveldb"
        replicas="3"
        bind="tcp://0.0.0.0:5152"
        zkAddress="127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183"
        hostname="127.0.0.1"
        zkPath="/activemq/leveldb-stores"/>
</persistenceAdapter>
...省略代码...
<transportConnectors>
    <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
    <transportConnector name="openwire" uri="tcp://0.0.0.0:6162?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"/>
</transportConnectors>
...省略代码...
</broker>
...省略代码...

D:\clustering-space\apache-activemq-5.15.5\apache-activemq-5.15.5-8163-5153-6163\conf\activemq.xml

...省略代码...
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="activemq-cluster" dataDirectory="${activemq.data}">
...省略代码...
<persistenceAdapter>
    <!--<kahaDB directory="${activemq.data}/kahadb"/>-->
    <replicatedLevelDB
        directory="${activemq.data}/leveldb"
        replicas="3"
        bind="tcp://0.0.0.0:5153"
        zkAddress="127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183"
        hostname="127.0.0.1"
        zkPath="/activemq/leveldb-stores"/>
</persistenceAdapter>
...省略代码...
<transportConnectors>
    <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
    <transportConnector name="openwire" uri="tcp://0.0.0.0:6163?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"/>
</transportConnectors>
...省略代码...
</broker>
...省略代码...

五、启动脚本

activemq1.bat

title apache-activemq-5.15.5-8161-5151-6161
D:\clustering-space\apache-activemq-5.15.5\apache-activemq-5.15.5-8161-5151-6161\bin\activemq start

activemq2.bat

title apache-activemq-5.15.5-8162-5152-6162
D:\clustering-space\apache-activemq-5.15.5\apache-activemq-5.15.5-8162-5152-6162\bin\activemq start

activemq3.bat

title apache-activemq-5.15.5-8163-5153-6163
D:\clustering-space\apache-activemq-5.15.5\apache-activemq-5.15.5-8163-5153-6163\bin\activemq start

activemq-cluster.bat

@echo off
    color 0A

@echo on
    start activemq1.bat
    start activemq2.bat
    start activemq3.bat

@echo off
    echo.
    pause

@echo on

转载于:https://my.oschina.net/wutenghui/blog/3028306

要使用Docker搭建ActiveMQ单机集群,你可以按照以下步骤进行操作: 1. 创建一个文件夹作为ActiveMQ集群目录,可以使用命令`mkdir mq_cluster`来创建。 2. 进入这个目录,可以使用命令`cd mq_cluster`来切换到该目录下。 3. 使用命令`sudo cp -r /usr/local/apache-activemq-5.16.0/ mq_node01`复制ActiveMQ的安装目录到mq_node01文件夹中。同样地,可以使用命令`sudo cp -r /usr/local/apache-activemq-5.16.0/ mq_node02`和`sudo cp -r /usr/local/apache-activemq-5.16.0/ mq_node03`分别复制到mq_node02和mq_node03文件夹中。 4. 使用Docker运行三个ActiveMQ容器,可以使用`docker run`命令加上适当的参数来运行容器。这些参数可以指定容器的名称、网络设置、端口映射和挂载目录等。例如,可以使用命令`docker run --name activemq_node01 -p 61616:61616 -p 8161:8161 -v $(pwd)/mq_node01:/opt/apache-activemq-5.16.0 -d webcenter/activemq`来运行第一个ActiveMQ容器,其中`-p`参数指定了端口映射,`-v`参数指定了容器内外目录的挂载。同样地,可以运行第二个和第三个容器,并分别命名为activemq_node02和activemq_node03,并设置不同的端口映射和挂载目录。这样就成功搭建了一个ActiveMQ单机集群。 5. 如果需要进入容器内部进行操作,可以使用命令`docker exec -it 容器名称 bash`来进入容器。例如,可以使用命令`docker exec -it activemq_node01 bash`进入第一个容器。 请注意,这里的步骤是使用Docker运行ActiveMQ的一个简单示例,具体的操作可能会根据实际情况有所不同。在实际应用中,还需要根据需求进行配置和管理,比如配置集群网络通信、负载均衡和故障转移等。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [MQ(解耦、削峰、异步)之ActiveMQ消息中间件(包括搭建zookeeper+activemq集群)](https://blog.csdn.net/qq_26496077/article/details/111835569)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [RabbitMQ集群(docker简单搭建)](https://blog.csdn.net/weixin_52173120/article/details/115867624)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值