EMQX伪集群部署
本文最后更新于 937 天前,其中的信息可能已经有所发展或是发生改变。

EMQX伪集群部署

前提

集群部署参考:https://www.emqx.io/docs/zh/v4.4/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

hostname ip
host01 192.168.100.101
host02 192.168.100.102
host03 192.168.100.103

安装 EMQX

因为服务器都是centos7的,也为了以后给实施能部署方便,因此采用压缩包安装

压缩包安装

下载地址:https://www.emqx.com/zh/try?product=broker

然后我们选择我们对应的版本信息,然后下载压缩包即可,下载完成后进行解压即可,

unzip emqx-centos7-4.3.15-amd64.zip

添加到全局环境变量(可选)

export EMQX_HOME=/usr/local/src/emqx
echo "PATH=\$PATH:$EMQX_HOME/bin" > /etc/profile.d/emqx.sh
chmod +x /etc/profile.d/emqx.sh

环境变量生效即可:source /etc/profile

启停命令使用

启动:emqx start

停止:emqx stop

重启:emqx restart

详情:https://www.emqx.io/docs/zh/v4.4/getting-started/command-line.html

开机自启动

echo "source /etc/profile && cd /usr/local/src/emqx/bin && sudo ./emqx start"  >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local

占用以下端口

EMQX 默认开启的 MQTT 服务 TCP 端口:

端口 说明
1883 MQTT 协议端口
8883 MQTT/SSL 端口
8083 MQTT/WebSocket 端口
8084 MQTT/WebSocket/SSL 端口
8081 管理 API 端口
18083 Dashboard 端口

EMQX 节点集群使用的 TCP 端口:

端口 说明
4369 集群节点发现端口 (EPMD 模式)
4370 集群节点发现端口
5370 集群节点 PRC 通道

EMQX 集群配置

static 集群

static 集群是通过预先存储在各节点的 EMQX 节点的节点列表来实现集群的发现,配置方法较为简单,我们到 192.168.100.101 的节点配置文件,

# 配置文件在安装目录下的 etc/emqx.conf
vi /usr/local/src/emqx/etc/emqx.conf

修改文件内容如下(我为了快捷,直接sed)

# 修改集群模式为 static
# cluster.discovery = static
sed -i "s/cluster.discovery = manual/cluster.discovery = static/g" emqx.conf

# 设置节点发现列表
# cluster.static.seeds = emqx@192.168.100.101,emqx@192.168.100.102,emqx@192.168.100.103
sed -i "s/## cluster.static.seeds = emqx1@127.0.0.1,emqx2@127.0.0.1/cluster.static.seeds = emqx@192.168.100.101,emqx@192.168.100.102,emqx@192.168.100.103/g" emqx.conf

# 设置节点名称,请注意,节点标识必须和上面节点发现列表中的一致,否则将无法实现集群节点发现
# node.name = emqx@192.168.100.101
sed -i "s/node.name = emqx@127.0.0.1/node.name = emqx@192.168.100.101/g" emqx.conf

192.168.100.102192.168.100.103 配置文件一样,区别在于node.name

# 102
# node.name = emqx@192.168.100.102
sed -i "s/node.name = emqx@127.0.0.1/node.name = emqx@192.168.100.102/g" emqx.conf
# 103
# node.name = emqx@192.168.100.103
sed -i "s/node.name = emqx@127.0.0.1/node.name = emqx@192.168.100.103/g" emqx.conf

现在让我们启动集群中的每个节点,

emqx restart

进入控制台,看看效果如何

image-20220626234353922

可以看到在不同的节点上,监控界面显示的节点数如图所示,说明集群已经启动。

验证集群发布与订阅

可使用 MQTTX 工具对 集群进行消息发送测试

配置 Nginx 网关

官方推荐配置LB的负载高可用,但需求暂时没说需要高可用…

评论

  1. Macintosh Chrome 102.0.0.0
    3 年前
    2022-6-27 22:01:11

    需求没说你就不做吗.

    • 博主
      大雄
      Windows Edge 103.0.1264.37
      3 年前
      2022-6-27 23:01:30

      不然呢~

      • 郭良俊只狗
        Macintosh Chrome 102.0.0.0
        3 年前
        2022-6-27 23:07:40

        是的,那就不做吧.

        • 博主
          大雄
          Windows Edge 103.0.1264.37
          3 年前
          2022-6-27 23:09:00

          公司还招人吗~

          • 郭良俊只狗
            Macintosh Chrome 102.0.0.0
            3 年前
            2022-6-27 23:09:53

            要来跟我一起扫厕所吗.

          • 博主
            大雄
            Windows Edge 103.0.1264.37
            3 年前
            2022-6-27 23:12:31

            还有坑位吗

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇