EMQX 社区版单机和集群部署

article/2025/6/8 10:49:19

EMQ 支持 Docker,宿主机,k8s部署;支持单机或集群部署。以下给出EMQX社区版单机和集群部署方法

1. Docker单机部署

官方推荐最小配置:2核 4G

下载容器镜像

docker pull emqx/emqx:5.3.2

启动容器

docker run -d --name emqx \-p 1883:1883 \-p 8083:8083 \-p 8883:8883 \-p 8084:8084 \-p 18083:18083 \emqx/emqx:5.3.2
EMQX 开放端口说明
1883 MQTT端口
8083 MQTT/WebSocket端口
8883 MQTT/SSL端口
8084 MQTT/WebSocket/SSL端口
18083 Dashboard 管理端口

验证

访问 Dashboard, 打开http://{server_ip}:18083, 默认账号admin, 密码 public
在这里插入图片描述
查看容器日志

docker logs -f emqx
EMQX 5.3.2 is running now!

2. 宿主机单机部署

参考:https://blog.csdn.net/m0_65819602/article/details/135876464
测试环境: Rocky Linux 9.5 x86_64 2核 4G内存
以下通过RPM包方式安装部署,通过systemd启动

curl -s https://assets.emqx.com/scripts/install-emqx-rpm.sh | sudo bash
yum install emqx -y
systemctl start emqx

3. 多宿主机集群部署

参考 官方文档 手动创建集群 小节

示例:在两台独立的宿主机上通过静态节点发现方式部署EMQ集群
主机信息

  • 主机A: 192.168.149.210
  • 主机B: 192.168.149.211

先参考 "宿主机单机部署”,在每个宿主机上部署EMQ
配置每台主机的EMQ
主机A /etc/emqx/emqx.conf

node {name = "emqx@192.168.149.210"cookie = "emqxsecretcookie"data_dir = "/var/lib/emqx"
}
cluster {name = emqxdiscovery_strategy = manual
}

主机B /etc/emqx/emqx.conf

node {name = "emqx@192.168.149.211"cookie = "emqxsecretcookie"data_dir = "/var/lib/emqx"
}
cluster {name = emqxdiscovery_strategy = manual
}

注:

  • node.name 填 emqx@fqdn, fqdn可以是hostname或IP
  • cluster.name 填 emqx,和 node.name 前缀保持一致
  • discovery_strategy 填 manual, 手动方式加入集群
  • 其余配置默认即可

配置完成后,主机B执行如下命令,加入集群

emqx ctl cluster join emqx@192.168.149.210
Join the cluster successfully.
Cluster status: #{running_nodes =>['emqx@192.168.149.210','emqx@192.168.149.211'],stopped_nodes => []}

测试,登录dashboard, 查看集群节点创建成功

节点退出集群

退出集群有以下两种方式:

  • 运行 cluster leave 命令:让本节点退出集群。它会通知集群中的其他节点,并停止参与集群操作,在离开之前会完成任何正在进行的任务。
  • 运行 cluster force-leave node@host 命令:在集群内移除节点。目标节点将被强制从集群中移除。当节点出现故障或无响应时,通常使用此命令。

例如,在之前构建的集群中,如果emqx@192.168.149.211想要离开集群,您可以在192.168.149.211上运行以下命令

emqx ctl cluster leave

或者在其他节点上运行以下命令来从集群中移除192.168.149.211

emqx ctl cluster force-leave emqx@192.168.149.211

查看集群状态

emqx_ctl cluster status

http://www.hkcw.cn/article/tBKPWbYiQZ.shtml

相关文章

小牛电动2025新品矩阵,引领技术普惠新风潮

自2014年成立以来,全球高端智能电动车领导品牌小牛电动已走过十个年头,在全球智能城市出行领域留下了深刻印记。秉持“科技、潮流、自由”的品牌理念,小牛电动致力于改变出行,让城市生活更美好。十年来,小牛电动推出多…

SU-03T1烧录使用教程

一、简介 SU-03T1模块是一款由深圳机芯智能开发的低成本、低功耗、小体积的离线语音识别模组,适用于智能家居、各类智能小家电、86盒、玩具、灯具等需要语音操控的场景。它是SU-03T的一个版本或后续产品,可能在功能或性能上有所改进或特定的应用优化。 该…

SOC-ESP32S3部分:27-设备OTA

飞书文档https://x509p6c8to.feishu.cn/wiki/Hd9TwkuZ3iEQiUkjaoic5p7Knuh ESO32S3应用程序可以在运行时通过网络从服务器下载新的固件,然后将其存储到某个分区中,从而实现固件的升级功能。 在ESP-IDF中有两种方式可以进行空中(OTA)升级: 使用 app_up…

Windows清理之后,资源管理器卡顿-解决方法

一、点击本地磁盘选择属性 二、选择工具 三、选择驱动器进行优化

VBA模拟进度条

在上一章中我跟大家介绍了ProgressBar控件的使用方法,但由于该控件无法在64位版本的Office中运行,为此我们可以采用Lable控件来模拟进度条的变化,以解决在64位版本的Office中无进度条控件的问题。 一、设计思路 添加两个重叠的Lable标签控件…

Linux(线程概念)

目录 一 虚拟地址到物理地址的转换 1. 操作系统如何管理物理内存: 2. 下面来谈谈虚拟地址如何转换到物理地址: 3. 补充字段: 二 Linux中的线程 1. 先来说说进程: 2. 线程: 3. 线程相比较于进程的优缺点&#x…

手把手教你用Appsmith打造企业级低代码平台:从部署到性能调优实战

文章目录 前言1.什么是Appsmith2.Docker部署3.Appsmith简单使用4.安装cpolar内网穿透5. 配置公网地址6. 配置固定公网地址总结 前言 在当今快速变化的商业环境中,企业正面临内部系统建设的双重挑战。传统开发模式不仅需要漫长的开发周期(通常需要数月&a…

PyTorch 入门学习笔记(数字识别实战)

目录 一、关于 PyTorch 的一个重要概念——神经网络 二、PyTorch 是如何解决问题的(解决案例) 1 案例:手写一个数字,让计算机识别出是哪个数字。 2 PyThorch 解决问题大约需要以下几个步骤: 3 代码示例&#xff1…

OSCP备战-BSides-Vancouver-2018-Workshop靶机详细步骤

一、靶机介绍 靶机地址:https://www.vulnhub.com/entry/bsides-vancouver-2018-workshop%2C231/ 靶机难度:中级(CTF) 靶机发布日期:2018年3月21日 靶机描述: Boot2root挑战旨在创建一个安全的环境&…

CANopen转Profinet 全攻略:打通施耐德变频器与西门子 300PLC通讯链路

Profinet转CAN open西门子300PLC与施耐德变频器通讯 项目 福建某公司在国外的一个工业自动化项目中,控制中心系统通过监控变频器的不同状态发送不同的命令启动/停止变频器,设定变频器的运行速度进而控制变频器所连接的伺服电机。监控中心系统使用的是西…

Shell脚本编程

shell概述 什么是shell? 在Linux内核与用户之间的解释器程序 Linux默认解释器为/bin/bash负责向内核翻译及传达用户/程序指令相当于操作系统的“外壳” shell的使用方式 交互式-命令行 人工干预,智能化程度高逐条解释执行,效率低、 非交…

win11中使用grep

一、下载 https://nchc.dl.sourceforge.net/project/gnuwin32/grep/2.5.4/grep-2.5.4-setup.exe?viasf1 二、控制面板的环境变量 Path中增加 E:\software\GnuWin32\bin 三、测试使用

负载均衡相关基本概念

负载均衡在系统架构设计中至关重要,其核心目标是合理分配负载,提升系统整体性能和可靠性。本文简要介绍了负载均衡的基本概念,包括四层和七层负载均衡、负载均衡的使用场景和实现方式、负载均衡的常用算法以及一些配置相关知识。 1、负载均衡…

Houdini POP入门学习03

跟着教程学习降雪效果制作,这部分包含blast裁剪、外部引脚获取等。 阶段1 1.Geometry中创建grid,连接popnet。 2.双击进入popnet,在wire_pops_into_here前添加popforce,这一步并不是为了添加重力,而是增加一些乱流。 …

ULVAC DC-10-4P 400V input 10kW DC Pulse power supply 爱发科直流电源

ULVAC DC-10-4P 400V input 10kW DC Pulse power supply 爱发科直流电源

星野录(博客系统)测试报告

目录 一. 项目背景 二、项目功能 三、测试计划 1. 功能测试 1.1 测试用例 1.2 执行测试部分操作截图 2. 使用selenium进行自动化测试 2.1 添加相关依赖 2.2 登录页面测试 3.3 注册页面测试 3.4 博客列表页面测试 3.5 博客详情页测试 3.6 博客编辑页面测试 3.7 个人…

WPF技术体系与现代化样式

目录 ​​1 WPF技术架构解析​​ ​​1.1 技术演进与定位​​ ​​1.2 核心机制对比​​ ​​2 样式与资源系统​​ ​​2.1 资源(Resource)定义与作用域​​ ​​2.2 样式(Style)与触发器​​ ​​3 开发环境配置(.NET 8)​​ ​​3.1 安装流程​​ ​​3.2 项目结…

智能快递地址解析接口如何用PHP调用?

一、什么是智能快递地址解析接口 随着互联网技术的普及和电子商务的迅猛发展,网购已成为现代人日常生活的重要组成部分。然而,在这个便捷的背后,一个看似不起眼却影响深远的问题正悄然浮现——用户填写的快递地址格式混乱、信息不全甚至错漏…

Day11

1. HTTP常见状态码有哪些? 1xx 类状态码属于提示信息,是协议处理中的一种中间状态,实际用的比较少。2xx 类状态码表示服务器成功处理了客户端的请求。3xx 类状态码表示客户端请求的资源发生了变动,需要客户端用新的 URL 重新发送请…

Windows 下部署 SUNA 项目:虚拟环境尝试与最终方案

#工作记录 #回顾总结 本文记录了在 Windows 系统上,通过 PyCharm 图形界面(尽量减少命令行操作)部署 SUNA 项目时,针对不同虚拟环境方案的尝试过程、遇到的问题以及最终选择的可行方案,并补充了整体部署思路与推荐。…