之前的集群教程是全流程的,对于只想加入其它集群的爱好者来说有些冗杂了。这里给出较为简易的加入/退出教程。
确保能登录服务器,且能够使用管理员权限操作终端即可。服务器防火墙/安全规则需要放通1883、18083、4370、5370端口(协议选择tcp)。
事前提醒:加入集群后服务器会将主服务器的配置覆盖自身配置,包括面板的用户名与密码,博主建议服务器管理员组件集群时互相告知面板管理的链接与用户名和密码,保障服务器管理权限。
一 加入集群
1.节点名更改
修改节点名为真实地址,便于后续管理。博主建议开服时就更改节点名,此处不展开说明了,设置方法参考:https://tylk.cc/archives/1040#header-id-6
2.同步Cookie
集群发起者会提供一个Cookie,需要Cookie一致才可加入集群。
比如已知Cookie是459ffedd3c7cfc165419f59197abcdef,那在终端输入以下命令变更Cookie:
echo "459ffedd3c7cfc165419f59197abcdef" | sudo tee /var/lib/emqx/.erlang.cookie
继续依次运行以下命令配置权限:
sudo chmod 600 /var/lib/emqx/.erlang.cookie
sudo chown emqx:emqx /var/lib/emqx/.erlang.cookie
重启生效:
sudo systemctl restart emqx
3.备份自己的配置
加入集群会覆盖原有配置且不可逆,再来一遍配置还是挺麻烦的,所以建议先备份下。在终端运行:
sudo /usr/lib/emqx/bin/emqx_ctl data export
返回的结果包含备份文件的名称,把它保存好,恢复时可以使用。
4.正式加入集群
从集群发起者拿到主节点名,比如已知节点名是emqx@mqtt.tylk.cc,则运行以下命令加入:
sudo /usr/lib/emqx/bin/emqx_ctl cluster join emqx@mqtt.tylk.cc
返回Join the cluster successfully.即成功加入。
5.添加凭证
登录面板,注意用户名和密码已经变成集群发起者的用户名和密码了,接下来就是将自己的FMO凭证添加到集群中,同时设置管理员权限。
这部分与开服时的步骤一致,只是不用新建数据库了,参考FMO语音服务器搭建教程里的“用户名密码配置-数据源创建”部分与“服务器安全配置-管理员配置”部分设置即可。
6.FMO设置
FMO已经更新了集群模式。在菜单中找到“联合管理”选项,可以发现有”标准“、”集群+标准“、”仅集群“三个选项,请按照以下要点进行配置:
1.标准模式适合单服务器独立运行的情况,默认为该选项。
2.若多台不同名称的服务器组成集群,为确保未更新的FMO能够兼容,需要将一台FMO配置为”集群+标准“,其余配置为”仅集群“即可。注意,对于服务器集群,未更新的FMO加入任意服务器仅会显示配置为”集群+标准“的FMO对应服务器的通知,已更新的FMO加入则会显示对应服务器的通知。
二 退出集群
1.主动退出
若以后不再参与该集群,先前往面板删除自己的凭证与管理员信息。
然后在终端运行以下命令,主动退出集群:
sudo /usr/lib/emqx/bin/emqx_ctl cluster leave
2.恢复备份文件
若要恢复之前备份的服务器配置文件,假设备份文件的名称是emqx-export-2026-01-08-10-55-01.912.tar.gz,则在终端运行:
sudo /usr/lib/emqx/bin/emqx_ctl data import emqx-export-2026-01-08-10-55-01.912.tar.gz
一般不用重启即可生效。若未生效,手动重启即可。运行:
sudo systemctl restart emqx