安装包下载地址:
1
|
http:
//emqtt
.com
/downloads
|
在这里我们下载 emqttd-centos6.8-v2.1.2.zip
配置两台主机hosts
1
2
|
192.168.0.10 s1.emqtt.io
192.168.0.20 s2.emqtt.io
|
安装配置(s1.emqtt.io):
1
2
3
4
5
6
7
8
|
安装依赖包
# yum install -y lksctp-tools
安装
# unzip emqttd-centos6.8-v2.1.2.zip
#cd emqttd
#vi etc/emq.conf
node.name = emqttd@s1.emqtt.io或node.name = emqttd@192.168.0.10
|
同理配置s2.emqtt.io,分别启动两台节点
1
2
3
4
5
6
7
8
9
10
|
启动
# bin/emqttd start
emqttd 2.1.2 is started successfully!
EMQ 消息服务器进程状态查询:
# ./bin/emqttd_ctl status
Node
'emqttd@s1.emqtt.io'
is started
emqttd 2.1.2 is running
|
加入集群
emqttd@s2.emqtt.io上执行:
1
2
3
|
# bin/emqttd_ctl cluster join emqttd@s1.emqtt.io
Join the cluster successfully.
Cluster status: [{running_nodes,[
'emqttd@s1.emqtt.io'
,
'emqttd@s2.emqqt.io'
]}]
|
或者 emqttd@s1.emqtt.io上执行:
1
2
3
4
|
#bin/emqttd_ctl cluster join emqttd@s2.emqtt.io
Join the cluster successfully.
Cluster status: [{running_nodes,[
'emqttd@s1.emqtt.io'
,
'emqttd@s2.emqtt.io'
]}]
|
任意节点上查询集群状态:
1
2
3
|
#bin/emqttd_ctl cluster status
Cluster status: [{running_nodes,[
'emqttd@s1.emqtt.io'
,
'emqttd@s2.emqtt.io'
]}]
|
节点退出集群
节点退出集群,两种方式:
-
leave: 本节点退出集群
-
remove: 从集群删除其他节点
emqttd@s2.emqtt.io主动退出集群:
1
2
3
|
#bin/emqttd_ctl cluster leave
Leave the cluster successfully.
Cluster status: [{running_nodes,[
'emqttd@s2.emqqt.io'
]}]
|
或emqttd@s1.emqtt.io节点上,从集群删除emqttd@s2.emqtt.io节点:
1
|
#bin/emqttd_ctl cluster remove emqttd@s2.emqtt.io
|
防火墙设置
如果集群节点间存在防火墙,防火墙需要开启4369端口和一个TCP端口段。4369由epmd端口映射服务使用,TCP端口段用于节点间建立连接与通信。
防火墙设置后,EMQ 需要配置相同的端口段,emqttd/etc/emq.conf文件:
1
2
3
|
## Distributed node port range
node.dist_listen_min = 6000
node.dist_listen_max = 6999
|
注意事项: NetSplit
EMQ消息服务器集群需要稳定网络连接以避免发生NetSplit故障。集群设计上默认不自动处理NetSplit,如集群节点间发生NetSplit,需手工重启某个分片上的相关节点。
EMQTTD 集群验证
集群验证我们用Mosquitto进行验证《centos yum 安装Mosquitto》
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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
还有通过控制台:
默认账户与密码:admin/public
控制台信息比较全,自己发现吧
本文转自 jackjiaxiong 51CTO博客,原文链接:http://blog.51cto.com/xiangcun168/1923607