EMQX 集群搭建
Zip压缩包安装EMQX
通过 emqx.io 下载要安装的 EMQ X 版本的 zip 包,并发压缩包发送到对应的服务器上,我下载的版本是4.2.1
# 解压Zip包
unzip emqx-centos7-4.2.1-x86_64.zip
# 启动EMQ X Broker
cd emqx
./bin/emqx start
EMQ X Broker 4.2.1 is started successfully!
# 查看EMQ X Broker状态
./bin/emqx_ctl status
Node 'emqx@127.0.0.1' is started
emqx 4.2.1 is running
# 停止 EMQ X Broker
./bin/emqx stop
# 卸载 EMQ X Broker直接删除解压后的emqx目录即可
配置emqx集群
- 设置三台服务器的hostname
# 在三台服务器上分别绑定hosts
vim /etc/hosts
10.x.x.132 dev132.insigma.com.cn dev132
10.x.x.133 dev133.insigma.com.cn dev133
10.x.x.134 dev134.insigma.com.cn dev134
# 在三台服务器上分别设置服务器hostname
hostnamectl set-hostname <your hostname>
- 所有服务器都关闭防火墙
# 查看防火墙状态
firewall-cmd --state
#关闭防火墙
systemctl stop firewalld.service
# 禁止开机自启动防火墙
systemctl disable firewalld.service
- 设置节点名
分别在三台服务器上编辑etc/emqx.conf配置文件
# 编辑emqx配置文件,设置节点名
vim etc/emqx.conf
# 节点名格式为 Name@Host, Host 必须是 IP 地址或 FQDN (主机名.域名),Host根据服务器的hostname自行修改
node.name = emqx@dev132.insigma.com.cn
- 节点加入集群
启动三台服务器上的emqx服务,并创建集群关联关系:
# 在 dev133.insigma.com.cn,dev134.insigma.com.cn 上执行集群创建命令:
# 执行命令加入集群后会清除当前服务器本身全部的数据,同步dev132.insigma.com.cn节点的数据。
# 已经在集群的节点不能在join到其他节点,否则会退出当前集群和join的节点组成一个新的集群
[root@dev133 emqx]# ./bin/emqx_ctl cluster join emqx@dev132.insigma.com.cn