erlang ejabberd集群配置

2021-08-30 19:01:32 字數 2024 閱讀 2590

1.環境ubuntu10.4

2.在兩台伺服器s1、s2安裝ejabberd

在此假設 s1安裝ejabberd的node為ejabberd@admintest。

s2安裝ejabberd的node為ejabberd@clustertest。

(注意:1)/sbin/ejabberdctl 中host的預設localhost,我在此把預設的host改為admintest和clustertest。

2)分別在s1、s2把admintest與clustertest新增到/ect/hosts中 如:192.168.1.2 admintest 192.168.1.3 clustertest)。

3.在s1上通過shell執行 ejabberdctl start 啟動 ejabberd

1)可以在shell用ejabberdctl status來檢查 ejabberd 是否啟動成功。

2)ejabberd成功啟動後。在shell中用ejabberdctl register admin langzhetest.com 123456 來註冊使用者。並修改/etc/ejabberd.ctg 檔案新增hosts(如:.)和acl(如:}.) 詳細請參考官方文件。

3)參照2)再次建立其他賬戶如adminlxw,當然可以通過操作介面繼續新增使用者。

4)在此為了確保伺服器的正確性,可以使用客戶端驗證,方法略。

4.在s2上進行集群配置

1)確保s1和s2有相同的cookie,假設當前cookie為langxianzhe,複製s1 ~ejabberd/.erlang.cookie 到s2 ~ejabberd./erlang.cookie(其它設定方法請參考官方文件)。

2)在linux shell中執行

erl -sname ejabberd@clustertest \

-mnesia dir '"/var/lib/ejabberd/"' \

-mnesia extra_db_nodes "['ejabberd@admintest']" \

-s mnesia -setcookie langxianzhe(官方文件沒有在此設定cookie,但發不設定cookie mnesia:info/0 檢視到得runing db nodes資訊,會少乙個node)。

3)在erlang shell中執行

mnesia:change_table_copy_type(schema, node(), disc_copies).

可以根據實際需要,再執行 mnesia:add_table_copy/3 詳細請參考官方文件。

4)退出erlang shell

輸入"q()."或"init:stop()."。

5)在linux shell中執行 ejabberdctl start,通過ejabberdctl status 檢查是否啟動成功。

6)修改/etc/ejabberd.ctg 檔案新增hosts(如:.),在此不需要修改acl,它會自動從s1上獲取。

7)注意:修改配置檔案後需要重新啟動ejabberd才生效(如:ejabberdctl restart)。

5.進行負載均衡配置

1)修改s1、s2 /etc/ejabberd/ejabberd.ctf 在檔案末尾新增

.。2)修改日誌級別為debug方便觀察後台資訊。

3)完成以上操作重啟ejabberd服務。

6.使用者客戶端測試伺服器

1)修改客戶端的hosts 新增 192.168.1.2 irgstest.com或 192.168.1.3 langzhetest.com。

2)新增登入使用者的時候去掉ssl驗一項,不然可能登陸不上。

3)新增好友時不要只寫admin,要寫全稱如:[email protected]

4)admin和adminlxw最好是在兩台機器(乙個host配置是192.168.1.2 irgstest.com另乙個hosts配置是 192.168.1.3 langzhetest.com)上進行測試,是為了保證s1,s2兩個伺服器能相互通訊。

7.結束ok,休息一下。

訓練集 驗證集 測試集

訓練集loss 驗證集loss 測試集loss 乙個好的網路,二者的差距應該是很低的。但一般情況下因為網路不可避免地存在一定程度上的過擬合,所以肯定是train loss低於test lost,但如果低太多,就得考慮是過擬合的問題還是因為樣本的特徵空間不統一的問題。驗證集基本是在每個epoch完成後...

訓練集,驗證集,測試集

普通引數就是可以被梯度下降所更新的,也就是訓練集所更新的引數。超引數是指訓練開始之前設定的引數,不在梯度下降的更新範圍內,比如網路層數 網路節點數 迭代次數 學習率等等 1.訓練集 確定模型後,用於訓練普通引數 2.驗證集 交叉驗證集cv 驗證集在每個epoch訓練完成後,用來測試一下當前模型的準確...

訓練集 測試集 驗證集

訓練集 用來訓練和擬合模型。驗證集 當通過訓練集訓練出多個模型後,使用驗證集資料糾偏或比較 測試集 模型泛化能力的考量。泛化 對未知資料的 能力 from sklearn.model selection import train test split import numpy as np from ...