emqx 集群搭建

emqx 集群搭建

官方集群搭建地址: https://docs.emqx.cn/broker/v4.3/getting-started/cluster.html#%E8%8A%82%E7%82%B9%E5%8F%91%E7%8E%B0%E4%B8%8E%E8%87%AA%E5%8A%A8%E9%9B%86%E7%BE%A4

环境准备

192.168.1.17 centOS7
192.168.1.18 centOS7
192.168.1.19 centOS7

配置

emqx broker安装

下载好emqx broker后解压

分别在17 18 19上修改配置

vim emqx/etc/emqx.conf
EMQ X默认配置中启用了匿名认证  生产环境中请禁用匿名认证。
allow_anonymous = false 不允许匿名访问

node.name = emqx@192.168.1.17

allow_anonymous = false
node.name = emqx@192.168.1.18

allow_anonymous = false
node.name = emqx@192.168.1.19

错误的方式加入集群

在17上执行 17加入到18的集群
./bin/emqx_ctl cluster join emqx@192.168.1.18

./bin/emqx_ctl cluster status

在17上执行---又把17加入到19集群-------注意: 加入19集群后, 然后查状态,就退出了18的集群了
./bin/emqx_ctl cluster join emqx@192.168.1.19
./bin/emqx_ctl cluster status

注意: 17加入集群后会清除本身全部的数据,同步19节点的数据。如果还有18节点,那么需要在18节点去执行命令加入emqx@192.168.1.19,已经在集群的节点不能在join到其他节点,否则会退出当前集群和join的节点组成一个新的集群

正确的方式加入集群

在17上执行 17加入到19的集群
./bin/emqx_ctl cluster join emqx@192.168.1.19

在18上执行 18加入到19的集群
./bin/emqx_ctl cluster join emqx@192.168.1.19

查看状态
./bin/emqx_ctl cluster status

退出集群

在18上执行 主动退出集群
./bin/emqx_ctl cluster leave

在17上执行 强制从集群删除其他节点 删除18节点
./bin/emqx_ctl cluster force-leave emqx@192.168.1.18
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
要在 Docker 中部署 EMQ X 集群,可以使用 `docker run` 命令和 `emqx` 镜像。以下是一个简单的示例,演示如何使用 `docker run` 命令在单个节点上运行 EMQ X: ``` docker run -d --name emqx \ -p 1883:1883 -p 8083:8083 -p 8883:8883 \ -e EMQX_LISTENER__TCP__EXTERNAL=0.0.0.0:1883 \ -e EMQX_LOADED_PLUGINS="emqx_recon,emqx_retainer,emqx_management" \ emqx/emqx:latest ``` 上面的命令会在后台运行一个名为 `emqx` 的容器,并将 EMQ X 的 MQTT、WebSocket 和 MQTT over TLS 端口映射到主机的对应端口。我们还使用 `-e` 参数来定义一些环境变量,例如监听地址、加载的插件等。 要在 Docker 中部署 EMQ X 集群,需要使用多个 `docker run` 命令,并在每个容器中配置不同的节点名称、集群名称和节点地址等。以下是一个简单的示例,演示如何使用 `docker run` 命令在两个节点上运行 EMQ X 集群: ``` # 启动第一个节点 docker run -d --name emqx1 \ -p 1883:1883 -p 8083:8083 -p 8883:8883 \ -e EMQX_LISTENER__TCP__EXTERNAL=0.0.0.0:1883 \ -e EMQX_LOADED_PLUGINS="emqx_recon,emqx_retainer,emqx_management" \ -e EMQX_CLUSTER__DISCOVERY="static" \ -e EMQX_CLUSTER__STATIC__SEEDS="emqx2@172.17.0.3" \ -e EMQX_NODE__NAME="emqx1" \ -e EMQX_NODE__MACHINE="emqx1" \ emqx/emqx:latest # 启动第二个节点 docker run -d --name emqx2 \ -p 1884:1883 -p 8084:8083 -p 8884:8883 \ -e EMQX_LISTENER__TCP__EXTERNAL=0.0.0.0:1883 \ -e EMQX_LOADED_PLUGINS="emqx_recon,emqx_retainer,emqx_management" \ -e EMQX_CLUSTER__DISCOVERY="static" \ -e EMQX_CLUSTER__STATIC__SEEDS="emqx1@172.17.0.2" \ -e EMQX_NODE__NAME="emqx2" \ -e EMQX_NODE__MACHINE="emqx2" \ emqx/emqx:latest ``` 上面的命令会在两个容器中分别启动 EMQ X 节点,并将两个节点加入到同一个集群中。我们在每个容器中使用不同的节点名称、集群名称和节点地址等参数,以确保 EMQ X 能够正确地运行和通信。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

beyond阿亮

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

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

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

打赏作者

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

抵扣说明:

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

余额充值