docker-compose安装emqx集群(最新)(host模式)

机器:
10.60.0.20

10.60.0.21

10.60.0.22

一、三台机子都配置域名(/etc/hosts)

10.60.0.20 node1.emqx.io
10.60.0.22 node3.emqx.io
10.60.0.21 node2.emqx.io

二、docker-compose.yml(10.60.0.21)
其他两台机子自己替换EMQX_NODE_NAME(节点名)

version: '3.9'

services:
  emqx1:
    image: emqx:5.6.1
    container_name: emqx1
    environment:
      - "TZ=Asia/Shanghai"
      - "EMQX_NODE_NAME=emqx@node1.emqx.io"
      - "EMQX_CLUSTER__DISCOVERY_STRATEGY=static"
      - "EMQX_CLUSTER__STATIC__SEEDS=[emqx@node1.emqx.io,emqx@node2.emqx.io,emqx@node3.emqx.io]"
    healthcheck:
      test: ["CMD", "/opt/emqx/bin/emqx_ctl", "status"]
      interval: 5s
      timeout: 25s
      retries: 5
    ports:
      - 1883:1883
      - 8083:8083
      - 8084:8084
      - 8883:8883
      - 18083:18083
 #   extra_hosts:
      # 允许容器可以使用的host访问其余节点
#       - node2.emqx.io:10.60.0.21
#       - node3.emqx.io:10.60.0.22
    volumes:
      - ./logs:/opt/emqx/log
      - ./data:/opt/emqx/data
    privileged: true
    network_mode: host
    restart: "on-failure: 10"
    logging:
      driver: json-file
      options:
        max-size: 10m
        max-file: 3

三、启动
第一次启动应该会失败,因为data目录我是直接启动时自动创建的,查看容器日志会提示/opt/emqx/data/configs的权限不够。

解决办法:修改data及其子目录权限为777,再重新执行docker-compose up -d 启动容器。

另一种办法就是先创建data,赋权限777,在执行docker-compose up -d 启动容器

四、启动成功后查看emqx是否加入集群(10.60.0.20),我21和22分别叫emqx2,emqx3

docker exec -it emqx1 sh -c "emqx_ctl cluster status"

正确的结果(如果三个容器都启动了,可以看见三个节点都加入了。如果只启动了一个节点,集群里running状态的也只有当前节点,另外两个节点就在stop,以下是三个都启动成功)

如果执行以上命令是提示ping不通,像下面那样,那就是你的hosts没配对(Node 'emqx@node1.emqx.io' not responding to pings.)


原因是什么?就是你要为@符号之后的域名配解析ip,所以才有第一步的操作

五、控制台展示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/620300.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

WordPress 、Typecho 站点的 MySQL/MariaDB 数据库优化

今天明月给大家分享一下 WordPress 、Typecho 站点的 MySQL/MariaDB 数据库优化,无论你的站点采用是 WordPress 还是 Typecho,都要用到 MySQL/MariaDB 数据库,我们以 MySQL 为主(MariaDB 其实跟 MySQL 基本没啥大的区别&#xff0…

FHMG037、FHMG045、FHMG063比例电磁铁驱动放大器

该FHMG037、FHMG045、FHMG063比例电磁铁符合VDE0580,电枢空间耐压可达350 bar,也适用于干运行,磁力和在行程在横向工作范围内略有下降,与BEUEC比例放大器驱动工作,力值和电流之间很大程度上有比例关系,通过…

【单片机调试】mcu调试bug记录

【单片机调试】mcu调试bug记录 2023.5-2023.11待输入 2023.12-2023.22024.3-至今1.spi通信问题 2023.5-2023.11 待输入 2023.12-2023.2 辞职阶段:【STM32调试】寄存器调试不良问题记录持续版 2024.3-至今 1.spi通信问题 现象说明: mcu与afe芯片为spi通…

PDF Squeezer for Mac,让PDF压缩更高效

还在为PDF文件过大而烦恼吗?试试PDF Squeezer for Mac吧!它拥有强大的压缩功能,可以快速将PDF文件压缩至更小的体积,让你的文件传输更快捷。同时,它还支持多种压缩方式,满足你的不同需求。赶快下载体验吧&a…

课题组里有一个卷王是什么体验?

::: block-1 “时问桫椤”是一个致力于为本科生到研究生教育阶段提供帮助的不太正式的公众号。我们旨在在大家感到困惑、痛苦或面临困难时伸出援手。通过总结广大研究生的经验,帮助大家尽早适应研究生生活,尽快了解科研的本质。祝一切顺利!—…

【Linux】多线程相关第一篇:从进程谈起理解线程概念

文章目录 为什么需要线程初步认识Linux线程Linux操作系统的线程为什么要这么设计进程、线程关系梳理理解线程是CPU调度的基本单位简单认识多执行流如何划分代码 为什么需要线程 线程和进程的关系密不可分。 操作系统教材对于进程、线程的概念是这样描述的: 进程是…

秋招后端开发面试题 - JVM运行时数据区

目录 运行时数据区前言面试题JVM 内存区域 / 运行时数据区?说一下 JDK1.6、1.7、1.8 内存区域的变化?为什么使用元空间替代永久代作为方法区的实现?Java 堆的内存分区了解吗?运行时常量池?字符串常量池了解吗&#xff…

win server服务器 关闭危险端口 135,137,138,139,445的方法

通过防火墙来控制 打开控制面板 选择检查防火墙状态 选择高级设置 选择入站规则,再新建规则 选择端口,下一步 选择端口应用于啥协议,再指定端口,再下一步 选择阻止连接,下一步 下一步 给规则别名一下,方便…

STM32存储左右互搏 USB接口FATS文件读写U盘

STM32存储左右互搏 USB接口FATS文件读写U盘 STM32的USB接口可以例化为Host主机从而对U盘进行操作。SD卡/MicroSD/TF卡也可以通过读卡器转换成U盘使用。这里介绍STM32CUBEIDE开发平台HAL库实现U盘FATS文件访问的例程。 USB接口介绍 常见的USB接口电路部分相似而有不同的连接器…

Leetcode - 周赛396

目录 一,3136. 有效单词 二,3137. K 周期字符串需要的最少操作次数 三,3138. 同位字符串连接的最小长度 四,3139. 使数组中所有元素相等的最小开销 一,3136. 有效单词 本题就是一道阅读理解题: 字符串长…

Floyd+二分,蓝桥杯国赛2022[环境治理]

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 0环境治理 - 蓝桥云课 (lanqiao.cn) 二、解题报告 1、思路分析 考虑我们治理时间越长,灰尘度和越低,具有单调性 考虑 二分治理天数mid,1~n可以降低与其相连边 mid / n 点…

[Linux][网络][协议技术][DNS][ICMP][ping][traceroute][NAT]详细讲解

目录 1.DNS1.DNS背景2.域名简介 2.ICMP协议1.ICMP功能2.ICMP两类报文 3.ping命令4.traceroute5.NAT技术1.NAT技术背景2.NAT IP转换过程3.静态地址NAT && 动态地址NAT4.网络地址端口转换NAPT5.NAT技术的缺陷6.NAT和代理服务器 6.总结1.数据链路层2.网络层3.传输层4.应用…

APP未上架应用市场,微信商户如何快速开通APP支付

在移动互联网时代,APP作为企业服务用户的重要窗口,其支付功能的完善性直接关系到用户体验和企业的营收。然而,对于许多未上架应用市场的APP来说,如何快速开通微信APP支付功能成为了一个亟待解决的问题。本文将为您详细介绍在APP未…

AI大模型探索之路-训练篇22: ChatGLM3微调实战-从原理到应用的LoRA技术全解

系列篇章💥 AI大模型探索之路-训练篇1:大语言模型微调基础认知 AI大模型探索之路-训练篇2:大语言模型预训练基础认知 AI大模型探索之路-训练篇3:大语言模型全景解读 AI大模型探索之路-训练篇4:大语言模型训练数据集概…

Java | Leetcode Java题解之第79题单词搜索

题目&#xff1a; 题解&#xff1a; class Solution {public boolean exist(char[][] board, String word) {char[] words word.toCharArray();for(int i 0; i < board.length; i) {for(int j 0; j < board[0].length; j) {if (dfs(board, words, i, j, 0)) return t…

数据中心--AI时代的“炼油厂”

数据中心正在成为AI时代的“炼油厂”&#xff01; 众所周知&#xff0c;AI的高歌猛进催生了对数据的海量处理需求。为了满足蓬勃的算力需求&#xff0c;全球开启了新一轮的数据中心建设热潮&#xff0c;数据中心业务正在以指数级的速度疯狂扩张。 此番情景&#xff0c;和第二…

图书馆APP开发解决方案

uni-app框架&#xff1a;使用Vue.js开发跨平台应用的前端框架&#xff0c;编写一套代码&#xff0c;可编译到Android、小程序等平台。 框架支持:springboot/Ssm/thinkphp/django/flask/express均支持 前端开发:vue.js 可选语言&#xff1a;pythonjavanode.jsphp均支持 运行软件…

摸鱼大数据——Linux搭建大数据环境——安装无界面虚拟机

前期准备工作基础环境配置 提前安装好vmware软件,准备好连接虚拟机的&#xff08;Final shell、WindTerm、CRT皆可&#xff09; 安装CentOS纯净版&#xff08;无界面版&#xff09; 1.文件 -> 创建新的虚拟机 -> 典型(推荐) -> 稍后安装操作系统 2.客户机操作系统 : …

pytorch常用内置loss函数与正则化技术(补充小细节)

文章目录 前言一、常用损失函数(后面用到了新的会一一补充)1.1 回归中的损失函数1.1.1 nn.MSELoss()示例1:向量-向量示例2:矩阵--矩阵(维度必须一致才行)1.2 分类中的损失函数1.2.1 二分类(1)nn.BCELoss --- 二分类交叉熵损失函数示例1:向量-向量示例2:矩阵--矩阵(维…

FileZilla一款免费开源的FTP软件,中文正式版 v3.67.0

01 软件介绍 FileZilla 客户端是一个高效且可信的跨平台应用程序&#xff0c;支持 FTP、 FTPS 和 SFTP 协议&#xff0c;其设计宗旨在于为用户提供一个功能丰富且直观的图形界面。此客户端的核心特性包括一个站点管理器&#xff0c;该管理器能有效地存储和管理用户连接详情及登…