FMO3.0服务器更新后的集群配置方法有区别,请按照您的安装方式选择不同的集群方法。若您在3.0版本更新前已经进行集群,请参考FMO 3.0服务器更新方法 - LiKai Blog,无需按照本文方法配置。
统一准备:Cookie生成
集群要求服务器Cookie值一致。首先创建Cookie,先生成一串字符,在任意一台服务器上打开终端,运行:
openssl rand -hex 16
复制并保存输出的字符串。
A 使用一键安装脚本搭建的服务器(非Docker)
1.下载脚本
打开终端,运行:
wget tylk.cc/fmo_file/cluster.sh
2.创建集群
在一台服务器上运行:
sudo bash cluster.sh create --name emqx@自己服务器的IP --cookie 第一步生成的字符串
例如:sudo bash cluster.sh create --name emqx@192.168.1.100 --cookie R8jKp3mL9qZ2xWv7bY6nT5cA1sD4fG0hJ
3.加入集群
在其它服务器上运行:
sudo bash cluster.sh join --name emqx@自己服务器的IP -n emqx@要加入的集群的服务器IP --cookie 第一步生成的字符串
例如:sudo bash cluster.sh join --name emqx@192.168.1.101 -n emqx@192.168.1.100 --cookie R8jKp3mL9qZ2xWv7bY6nT5cA1sD4fG0hJ
稍等片刻即可加入集群,若其它服务器本身也为独立服务器,则会组成集群。
4.退出集群
若需要退出集群,运行以下命令:
sudo bash cluster.sh leave
提醒:可以键入以下命令查看帮助,了解脚本功能:
sudo bash cluster.sh
B 使用本站之前的教程搭建的服务器
1.基础工作
请先参考FMO 3.0服务器更新方法 - LiKai Blog配置3.0的密钥并确保可以连接;
随后您可以使用手动方法加入服务器,也可以使用上述脚本完成加入。
以下为手动配置教程
2.统一cookie:
在所有服务器上都要配置~
运行以下指令:
sudo vim /etc/emqx/emqx.conf
显示文件内容后,用方向键移动光标,按下i键,进入编辑模式,修改以下内容:
node {
name = "emqx@服务器IP地址"
cookie = "第二步输出的字符串"
data_dir = "/var/lib/emqx"
}
修改好后先按esc键,再输入 :wq! 并回车(即强制保存退出),文件就保存好了。
随后重启服务器:
sudo systemctl restart emqx
3.加入集群
在终端里运行以下命令,加入服务器2的节点:
sudo /usr/lib/emqx/bin/emqx_ctl cluster join emqx@fmo2.tylk.cc服务器2地址
若加入成功,会返回以下信息:
Join the cluster successfully.Cluster status: #{running_nodes => ['emqx@fmo.tylk.cc服务器1地址','emqx@fmo2.tylk.cc服务器2地址'],stopped_nodes => []}
4.退出集群
退出集群前请确认:若以后不再参与该集群,先前往面板删除自己的凭证与管理员信息。
若服务器想要退出集群,变为独立节点,在终端运行以下命令:
sudo /usr/lib/emqx/bin/emqx_ctl cluster leave
也可以在其它服务器上运行以下命令移除服务器2:
sudo /usr/lib/emqx/bin/emqx_ctl cluster force-leave emqx@fmo2.tylk.cc服务器2地址
即可退出集群。