天天看點

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

繼續閱讀