安裝包下載下傳位址:
<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