預備知識
所謂的domain mode其實就是利用group的觀念來管理JBoss sever
deploy war檔的時候是以server group為單位,
可以一次deploy到server group中所有的server node上
這些server node可以在不同機器上
參考http://blog.akquinet.de/2012/06/29/managing-cluster-nodes-in-domain-mode-of-jboss-as-7-eap-6/
domain mode有兩個重要的設定檔,分別是domain.xml跟host.xml
簡易說明如下:
domain設定檔說明
1. 位置 jboss-eap-6.2\domain\configuration\domain.xml
2. 重要的區塊有<profiles>,<server-groups>,<socket-binding-groups>
2.1. <profiles>
存放各種不同的profile,針對不同需求可以設定不同的profile
2.2. <server-groups>
接受管理的server可以劃分group,指定使用的profile等設定
2.3. <socket-binding-groups>
設定相關port的使用,可以被server-groups選用
host.xml設定檔說明
1.位置jboss-eap-6.2\domain\configuration\host.xml
2. 重要的區塊有<domain-controller>,<servers>
2.1 <domain-controller>
定義這台實體機是不是domain-controller,或指定domain-controller所在位置資訊
2.2 <servers>
指定這台實體機上的server node所屬的group以及server的相關設定
若以預設的domain.xml跟host.xml為例
domain.xml
指定了兩個server-group,分別是main-server-group跟other-server-group
其中main-server-group使用profile="full" ,other-server-group使用profile="full-ha"
host.xml
指定了三台server的名稱以及所屬的group跟port-offset
--
實作cluster設定
參考https://docs.jboss.org/author/display/AS71/AS7+Cluster+Howto
接著先試著做JBoss eap6 domain的設定,使用兩台linux vm.
vm01做為domain controller,開兩個server node,分別屬於group1跟 group2
vm02開兩個server node,分別屬於group1跟 group2
設定vm01
1.下載JBoss eap6 ()
http://jbossas.jboss.org/downloads.html
2.解壓縮
2.1 解壓縮到想放的目錄,ex: /home/user01/jboss-eap-6.2
3.新增admin user
3.1 進到/jboss-eap-6.2/bin
3.2 執行add-user.sh
3.3 type of user選a按enter
3.4 輸入username後按enter,輸入yes確認
3.5 輸入password,再次輸入password (注意密碼的複雜度)
3.6 輸入要加入的group,可以不輸入直接按enter
3.7 輸入yes確認設定
3.8 輸入yes確認remote使用
3.9 把畫面顯示的server-identities計下來
ex: server-identities definition <secret value="MTFxcVdXQEA=" />
4.設定vm01的domaim.xml
4.1 開啟 /jboss-eap-6.2/domain/configuration/domaim.xml
4.2 找到<server-groups>區塊
4.3 把 main-server-group改名為group1
4.4 把 group1使用的profile改成full-ha
4.5 把 group1使用的socket-binding-group改成full-ha-sockets
4.6 把 other-server-groupe改名成group2
5. 設定vm01的host.xml
5.1 開啟 /jboss-eap-6.2/domain/configuration/host.xml
5.2 找到<host>區塊
5.3 修改host name為vm01
5.4 找到 <servers>區塊
5.5 把server-one的group改成group1
5.6 把server-two的group改成group2
5.7 把server-two的port-offset改成100
5.8 刪除server-three
5.9 找到<interfaces>
5.10 把management跟public改成<any-ipv4-address/>
(為了從本機讀取vm01,參考https://docs.jboss.org/author/display/AS7/Interfaces+and+ports)
6.起動JBoss
6.1 執行/jboss-eap-6.2/bin/domain.sh
7.檢視admin console
7.1 連到vm01的ip:9990 (注意vm的防火牆要打開)
ex : http://192.168.5.100:9990/
7.2 可以確認vm01已經做為Domain Controller啟動,group1有一台server-one,group2有一台server-two
--
設定vm02
1.下載與解壓縮請參考vm01的做法
2.設定vm02的host.xml
2.1 開啟 /jboss-eap-6.2/domain/configuration/host.xml
2.2 找到<host>區塊
2.3 修改host name為vm02
2.4 找到<security-realms>區塊
2.5 增加設定vm01時的server-identities
<server-identities>
<secret value="MTFxcVdXQEA=" />
</server-identities>
2.6 找到<domain-controller>區塊
2.7 指定domain controller(vm01)所在的ip跟username(設定vm01建立的帳號)
2.8 將public的interface設為<any-ipv4-address/>
2.9 設定server的group
3.起動JBoss
3.1 執行/jboss-eap-6.2/bin/domain.sh
4.檢視admin console
4.1 連到vm01的ip:9990 (注意vm的防火牆要打開)
ex : http://192.168.5.100:9990/
4.2 可以確認vm02已經加入Domain
5. Deploy測試
5.1 選擇要deploy的檔案
Manage Deployments -> Add -> 選擇要deploy的檔 -> next -> save
5.2 指定要deploy到那個group
選擇要deploy的檔 -> Assign-> 選擇要deploy的group -> save
6. 連線到vm01的server-one跟vm02的server-one確認deploy成功
--
至此完成domain mode的設定
load balance的設定下回分曉
沒有留言:
張貼留言