ActiveMQ + MQTT 集群搭建(docker版本)


前言

上一篇文章已经总结了
ActiveMQ + MQTT 集群搭建(虚机版本) + Springboot使用配置

本篇文章总结一下docker部署方案


一、docker方式部署

1.创建挂载目录

本地创建挂载目录:/home/jenkins/test_apps/mnt/activemq-cluster。

在该目录下基于activemq.xml修改名字创建三个配置文件activemq-clusters.xml、activemq-master.xml、activemq-slave.xml。

在该目录下创建目录kahadb用来挂载数据。

2.分别修改三个配置文件(虚机配置第三点一致),如下:

<transportConnectors>
            <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
            <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=10000&amp;wireFormat.maxFrameSize=104857600"/>
           <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=10000&amp;wireFormat.maxFrameSize=104857600"/>
        </transportConnectors>
		<!-- 配置网络代理,cluster 节点需要与 master 跟 slave 进行穿透 -->
		<networkConnectors>
                <networkConnector name="network-clusters" uri="static:(tcp://192.168.10.41:61617,tcp://192.168.10.41:61618)" duplex="true" />
        </networkConnectors>
		
		
		<transportConnectors>
            <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
            <transportConnector name="openwire" uri="tcp://0.0.0.0:61617?maximumConnections=10000&amp;wireFormat.maxFrameSize=104857600"/>
            <transportConnector name="mqtt" uri="mqtt://0.0.0.0:2884?maximumConnections=10000&amp;wireFormat.maxFrameSize=104857600"/>
        </transportConnectors>
		<!-- 配置网络代理,master 节点需要与 cluster 跟 slave 进行穿透 -->
		<networkConnectors>
                <networkConnector name="network-master" uri="static:(tcp://192.168.10.41:61616,tcp://192.168.10.41:61618)" duplex="true" />
        </networkConnectors>
		
		
		<transportConnectors>
            <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
            <transportConnector name="openwire" uri="tcp://0.0.0.0:61618?maximumConnections=10000&amp;wireFormat.maxFrameSize=104857600"/>
            <transportConnector name="mqtt" uri="mqtt://0.0.0.0:2885?maximumConnections=10000&amp;wireFormat.maxFrameSize=104857600"/>
        </transportConnectors>
		<!-- 配置网络代理,slave 节点需要与 master 跟 cluster 进行穿透 -->
		<networkConnectors>
                <networkConnector name="network-slave" uri="static:(tcp://192.168.10.41:61616,tcp://192.168.10.41:61617)" duplex="true" />
        </networkConnectors>

3.容器启动:

-----------无挂载日志----------- 
clusters启动:
docker run --name='activemq_clusters' \
-itd \
--privileged=true \
--restart=unless-stopped \
-p 61616:61616 \
-p 8161:8161 \
-p 1883:1883 \
-e ACTIVEMQ_ADMIN_LOGIN=admin \
-e ACTIVEMQ_ADMIN_PASSWORD=admin \
-v /home/jenkins/test_apps/mnt/activemq-cluster/activemq-clusters-a.xml:/opt/activemq/conf/activemq.xml \
webcenter/activemq:5.15.12

master启动
docker run --name='activemq_master' \
-itd \
--privileged=true \
--restart=unless-stopped \
-p 61617:61617 \
-p 8171:8161 \
-p 2884:1884 \
-e ACTIVEMQ_ADMIN_LOGIN=admin \
-e ACTIVEMQ_ADMIN_PASSWORD=admin \
-v /home/jenkins/test_apps/mnt/activemq-cluster/activemq-master-a.xml:/opt/activemq/conf/activemq.xml \
-v /home/jenkins/test_apps/mnt/activemq-cluster/kahadb:/opt/activemq/data/kahadb \
webcenter/activemq:5.15.12


slave启动:
docker run --name='activemq_slave' \
-itd \
--privileged=true \
--restart=unless-stopped \
-p 61618:61618 \
-p 8181:8161 \
-p 2885:1885 \
-e ACTIVEMQ_ADMIN_LOGIN=admin \
-e ACTIVEMQ_ADMIN_PASSWORD=admin \
-v /home/jenkins/test_apps/mnt/activemq-cluster/activemq-slave-a.xml:/opt/activemq/conf/activemq.xml \
-v /home/jenkins/test_apps/mnt/activemq-cluster/kahadb:/opt/activemq/data/kahadb \
webcenter/activemq:5.15.12

4.集群验证

1、容器启动后,和虚机一样进行配置检查,判断网络连接是否互通,是否形成集群;
2、项目配置同虚机搭建;


总结

对docker搭建ActiveMQ + MQTT集群进行了简单总结,记录一下。

相关推荐

  1. ActiveMQ + MQTT docker版本

    2024-04-14 19:38:06       15 阅读
  2. Dockerkafka

    2024-04-14 19:38:06       28 阅读
  3. 简单docker swarm

    2024-04-14 19:38:06       38 阅读
  4. Docker Nacos 教程

    2024-04-14 19:38:06       22 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-14 19:38:06       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-14 19:38:06       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-14 19:38:06       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-14 19:38:06       18 阅读

热门阅读

  1. springboot redission 自定义注解实现分布式锁

    2024-04-14 19:38:06       18 阅读
  2. LINUX【网络编程】UDP程序recvfrom接收数据

    2024-04-14 19:38:06       14 阅读
  3. elasticsearch不删除索引只清理数据——筑梦之路

    2024-04-14 19:38:06       14 阅读
  4. 【2024】elasticsearch的安装及使用建议

    2024-04-14 19:38:06       19 阅读
  5. 【React Router】初识路由(中)

    2024-04-14 19:38:06       15 阅读
  6. Verilog语法回顾--case语句

    2024-04-14 19:38:06       18 阅读
  7. go标准库和第三方库使用

    2024-04-14 19:38:06       15 阅读