安装包下载地址:

http://emqtt.com/downloads

在这里我们下载 emqttd-centos6.8-v2.1.2.zip



配置两台主机hosts

192.168.0.10  s1.emqtt.io
192.168.0.20  s2.emqtt.io


安装配置(s1.emqtt.io): 

 安装依赖包
 # yum install -y lksctp-tools
 
 安装
# unzip emqttd-centos6.8-v2.1.2.zip 
#cd emqttd
#vi etc/emq.conf
node.name = [email protected]或node.name = [email protected]

同理配置s2.emqtt.io,分别启动两台节点

启动

# bin/emqttd start
emqttd 2.1.2 is started successfully!

EMQ 消息服务器进程状态查询:

# ./bin/emqttd_ctl status
Node '[email protected]' is started
emqttd 2.1.2 is running

加入集群

emqttd@s2.emqtt.io上执行:

# bin/emqttd_ctl cluster join [email protected]
Join the cluster successfully.
Cluster status: [{running_nodes,['[email protected]','[email protected]']}]

或者 emqttd@s1.emqtt.io上执行:

#bin/emqttd_ctl cluster join [email protected]

Join the cluster successfully.
Cluster status: [{running_nodes,['[email protected]','[email protected]']}]

任意节点上查询集群状态:

#bin/emqttd_ctl cluster status

Cluster status: [{running_nodes,['[email protected]','[email protected]']}]

节点退出集群

节点退出集群,两种方式:

  1. leave: 本节点退出集群

  2. remove: 从集群删除其他节点

emqttd@s2.emqtt.io主动退出集群:

#bin/emqttd_ctl cluster leave
Leave the cluster successfully.
Cluster status: [{running_nodes,['[email protected]']}]

[email protected]节点上,从集群删除[email protected]节点:

#bin/emqttd_ctl cluster remove [email protected]

防火墙设置

如果集群节点间存在防火墙,防火墙需要开启4369端口和一个TCP端口段。4369由epmd端口映射服务使用,TCP端口段用于节点间建立连接与通信。

防火墙设置后,EMQ 需要配置相同的端口段,emqttd/etc/emq.conf文件:

## Distributed node port range
node.dist_listen_min = 6000
node.dist_listen_max = 6999

注意事项: NetSplit

EMQ消息服务器集群需要稳定网络连接以避免发生NetSplit故障。集群设计上默认不自动处理NetSplit,如集群节点间发生NetSplit,需手工重启某个分片上的相关节点。


EMQTTD 集群验证

集群验证我们用Mosquitto进行验证《centos yum 安装Mosquitto

 10消息,20订阅
 
10写入消息
# mosquitto_pub -t topicTest07 -m Message05 -h 192.168.0.10 -p 1883
20订阅查看
# mosquitto_sub -v -t topicTest07 -h 192.168.0.20 -p 1883
topicTest07 Message05

 20消息,10订阅
20写入消息
# mosquitto_pub -t topicTest08 -m Message06 -h 192.168.0.20 -p 1883
10订阅查看
# mosquitto_sub -v -t topicTest08 -h 192.168.0.10 -p 1883
topicTest08 Message06


EMQTTD 状态监测

状态监测可通过自带的WEB进行监测

http://192.168.0.10:8083/status

wKiom1kRRNyAOFgrAAAWAgGLaWA265.png-wh_50

还有通过控制台:

http://192.168.0.10:18083

默认账户与密码:admin/public


控制台信息比较全,自己发现吧