前言:前面做了emqx的单点搭建,官方的压测显示,即使单点的emqx的性能也是很能打的(EMQ X R3.0 在单机 8核/32G内存的 CentOS 云服务器,能够测试到 130万 的客户端连接数),但单点没有容错能力(如果部署emq的服务器挂了,或者emq本身挂了),一旦出现问题,后续服务将会受到影响,所以现在搭建集群。
主要修改./emqx/etc/emqx.conf
#集群发现模式,静态发现,启动后不用输加入集群命令
cluster.discovery = static
#集群列表,配合上面static发现策略使用
cluster.static.seeds = emqx1@192.168.1.128,emqx2@192.168.1.135,emqx3@192.168.1.136
#节点名
node.name = emqx1@192.168.1.128
#集群通信端口段
node.dist_listen_min = 6369
node.dist_listen_max = 7369
优化参数:在命令行输入
sysctl -w fs.file-max=2097152
sysctl -w fs.nr_open=2097152
ulimit -n 1048576
sysctl -w net.core.somaxconn=65536
三台机器分别启动。
可能会碰到问题,检查防火墙是否开启emq集群通信的端口(如果是阿里云,在安全组里配):
#emqx集群需要端口
如果集群节点间存在防火墙,防火墙需要开启 4369 端口和一个 TCP 端口段。
4369 由 epmd 端口映射服务使用,
TCP 端口段用于节点间建立连接与通信。(6369/7369)