天天看点

centos EMQTTD 集群安装配置与测试验证

安装包下载地址:

<code>http:</code><code>//emqtt</code><code>.com</code><code>/downloads</code>

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

<b></b>

配置两台主机hosts

<code>192.168.0.10  s1.emqtt.io</code>

<code>192.168.0.20  s2.emqtt.io</code>

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

<code> </code><code>安装依赖包</code>

<code> </code><code># yum install -y lksctp-tools</code>

<code> </code> 

<code> </code><code>安装</code>

<code># unzip emqttd-centos6.8-v2.1.2.zip </code>

<code>#cd emqttd</code>

<code>#vi etc/emq.conf</code>

<code>node.name = [email protected]或node.name = [email protected]</code>

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

<code>启动</code>

<code># bin/emqttd start</code>

<code>emqttd 2.1.2 is started successfully!</code>

<code>EMQ 消息服务器进程状态查询:</code>

<code># ./bin/emqttd_ctl status</code>

<code>Node </code><code>'[email protected]'</code> <code>is started</code>

<code>emqttd 2.1.2 is running</code>

加入集群

<code># bin/emqttd_ctl cluster join [email protected]</code>

<code>Join the cluster successfully.</code>

<code>Cluster status: [{running_nodes,[</code><code>'[email protected]'</code><code>,</code><code>'[email protected]'</code><code>]}]</code>

<code>#bin/emqttd_ctl cluster join [email protected]</code>

<code>Cluster status: [{running_nodes,[</code><code>'[email protected]'</code><code>,</code><code>'[email protected]'</code><code>]}]</code>

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

<code>#bin/emqttd_ctl cluster status</code>

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

leave: 本节点退出集群

remove: 从集群删除其他节点

<code>#bin/emqttd_ctl cluster leave</code>

<code>Leave the cluster successfully.</code>

<code>Cluster status: [{running_nodes,[</code><code>'[email protected]'</code><code>]}]</code>

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

<code>#bin/emqttd_ctl cluster remove [email protected]</code>

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

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

<code>## Distributed node port range</code>

<code>node.dist_listen_min = 6000</code>

<code>node.dist_listen_max = 6999</code>

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

EMQTTD 集群验证

<code> </code><code>10消息,20订阅</code>

<code>10写入消息</code>

<code># mosquitto_pub -t topicTest07 -m Message05 -h 192.168.0.10 -p 1883</code>

<code>20订阅查看</code>

<code># mosquitto_sub -v -t topicTest07 -h 192.168.0.20 -p 1883</code>

<code>topicTest07 Message05</code>

<code> </code><code>20消息,10订阅</code>

<code>20写入消息</code>

<code># mosquitto_pub -t topicTest08 -m Message06 -h 192.168.0.20 -p 1883</code>

<code>10订阅查看</code>

<code># mosquitto_sub -v -t topicTest08 -h 192.168.0.10 -p 1883</code>

<code>topicTest08 Message06</code>

EMQTTD 状态监测

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

<a href="http://192.168.12.104:8083/status" target="_blank">http://192.168.0.10:8083/status</a>

<a href="https://s2.51cto.com/wyfs02/M00/95/0D/wKiom1kRRNyAOFgrAAAWAgGLaWA265.png-wh_500x0-wm_3-wmp_4-s_2627633296.png" target="_blank"></a>

还有通过控制台:

<a href="http://192.168.12.104:18083/" target="_blank">http://192.168.0.10:18083</a>

默认账户与密码:admin/public

<a href="https://s5.51cto.com/wyfs02/M00/95/0D/wKioL1kRRSzj6X82AAEzeL_AdEk599.png-wh_500x0-wm_3-wmp_4-s_4111646894.png" target="_blank"></a>

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

本文转自 jackjiaxiong 51CTO博客,原文链接:http://blog.51cto.com/xiangcun168/1923639

继续阅读