EMQX集群配置+haproxy负载均衡配置方法
·
一、准备三台机器
以centos7为例,准备三台机器(可以为虚拟机)
pc1:作为emqx集群节点1
pc2:作为emqx集群节点2
pc3:部署haproxy,用于部署emqx的负载均衡器
提前将三台机器的防火墙全部关闭systemctl stop firewalld
关闭selinux setenforce 0
二、安装EMQX
1.安装emqx服务
yum install emqx -y
2.编辑emqx配置文件
修改节点名称,以节点1(192.168.0.1为例)将其节点名称修改为“emqx@192.168.0.1”
vim /etc/emqx/emqx.conf
...
node {
name = "emqx@192.168.0.1"
cookie = "emqxsecretcookie"
data_dir = "/var/lib/emqx"
}
...
3.构建集群
1.先按照步骤2中在节点2上进行相应操作,再将节点2加入集群
emqx_ctl cluster join emqx@192.168.0.1
4.查看节点是否加入成功
emqx_ctl cluster status
# 输出
"""
Cluster status: #{running_nodes =>
['emqx@192.168.0.1','emqx@192.168.0.2'],
stopped_nodes => []}
"""
三、部署haproxy
1.在pc3上安装haproxy
yum install haproxy -y
2.修改配置
step 1:
vim /etc/haproxy/haproxy.cfg
step2:在配置文件中加入以下内容
# 配置一个前端,监听1883端口
frontend frontend_emqx_tcp
bind *:1883
mode tcp
option tcplog
default_backend backend_emqx_tcp
# 配置后端服务器池
backend backend_emqx_tcp
mode tcp
balance roundrobin # 使用轮询算法进行负载均衡
server emqx_node1 192.168.0.1:1883 check inter 10s fall 2 rise 5 # 对node1进行健康检查
server emqx_node2 192.168.0.2:1883 check inter 10s fall 2 rise 5 # 对node2进行健康检查
# 可选:启用HAProxy的统计页面以便监控
listen stats
bind *:8888
mode tcp
stats enable
stats uri /stats
stats refresh 30s
step3:检验语法是否错误
haproxy -f /etc/haproxy/haproxy.cfg -c
step4: 启动haproxy服务
systemctl restart haproxy
五、验证是否成功
1.在节点1和节点2分别起两个订阅客户端
(提前安装好mosquitto指令服务)
mosquitto_sub -t test
2.随便找一台pc发布一条消息
mosquitto_pub -t test -h 192.168.0.3 -m hello
# -t 指定主题
# -h 指定负载均衡器的ip
# -m 指定消息内容
3.节点1和节点2均订阅到消息,说明服务部署成功
更多推荐



所有评论(0)