JBOSS5 集群配置(2011-01-17 13:43:51)
初始化安裝 在所有的服務器上安裝JBossAS 在服務器上安裝JBoss AS.最簡單的方法就是把下載的JBoss解壓縮出來就可以. 如果想要在一臺服務上運行多個JBossAS實例,你可以把JBoss分別安裝在文件系統(tǒng)的不同位置,也可以僅拷貝all目錄下的配置內(nèi)容,例如JBoss的解壓目錄是/var/jboss,可以這樣做 cd /var/jboss/server cp -r all node1 cp -r all node2 在每個節(jié)點,決定要綁定的IP地址 當你運行JBoss,不管是不是集群模式,你都需要告訴JBoss他需要綁定到哪個地址來進行監(jiān)聽通訊(默認地址是Localhost,這個地址比較安全但是不是特別有效,特別是在配置集群環(huán)境的時候),所以你需要確定使用什么地址。 保證多播可用 JBossAS默認使用UDP多播來進行集群服務器間通訊的,保證每個服務器所在的網(wǎng)絡內(nèi)的路由器、交換機都配置支持多播,如果你想要在一臺服務器上運行多個節(jié)點服務,那就需要保證當前服務器系統(tǒng)的路由表中包含一個多播路由地址??梢詤⒖冀榻BJGroups的文檔來了解多一些內(nèi)容,JGroups文檔地址http://www.。這里面還包含一些如何使用JGroup分析工具來判斷多播是否有效。 NOTE JBossAS集群不是必須使用UDP多播,它也可以配置成使用TCPunicast來進行節(jié)點間交互。 為每個節(jié)點確定一個唯一的“ServerPeerID” JBoss消息集群需要這個唯一ID,如果不運行JBoss消息的話就可以忽略這個配置(例如你可以將JBM從服務器配置的deploy目錄中移出)。JBM需要在每個節(jié)點又一個唯一的編號。 除了以上這些步驟,下面有兩個可選的步驟,用來幫助你確保你的集群同運行在同一網(wǎng)絡中的其他的JBoss集群區(qū)分開來。 為你的集群取個唯一的名字 JBossAS集群的默認名稱是”DefaultPartition”。為你的環(huán)境中的不同集群取不同的名稱。例如”QAPartition”或者”BobsDevPartition”。名稱中”Partition”的使用不是必須的。如果從效率考慮最好短一些,因為它將被包含在所有集群內(nèi)交互的消息中。 為你的集群選擇一個唯一的多播地址 JBossAS默認使用UDP多播放時來進行節(jié)點間交互。為你使用的每個群選擇一個為一個的多播地址。一個好的多播地址是類似239.255.x.y的方式。http:/ /www./docs/THPM/multicast-address-assignment.html [http://www./ docs/THPM/multicast-address-assignment.html]將為你提供如果選擇好的多播地址的建議。 也可以參考Section 10.2.2, “Isolating JGroups Channels”來尋找更多的建議 將JBossAS以集群方式加載 在局域網(wǎng)環(huán)境中以集群方式啟動JBossAS的最簡單方式就是使用 “–c all”參數(shù)來啟動服務實例。這些服務器實例會自動組成一個集群。 讓我們看一些不同情況下的安裝方法。在每個情況下我們都只創(chuàng)建一個有兩個節(jié)點的集群,第一個節(jié)點的”ServerPeerID”是1,第二個節(jié)點的是2。我們把我們的群命名為”DocsPartition”,使用239.255.100.100這個多播地址。兩個節(jié)點的群不代表是各種情況下的最優(yōu)選擇,他僅僅是完成這個例子的最簡單的配置。 場景1:各節(jié)點在不同機器上 這是最常見的使用場景。假設兩臺機器分別叫做”node1”與”node2”,node1的地址是192.168.0.101,node2的地址是192.168.0.102,他們的”ServerPeerID”分別是1和2。假設這兩個機器得Jboss都裝在/var/jobss目錄下 節(jié)點1加載過程 Cd /var/jboss/bin ./run.sh –c all –g DocsPartition –u 239.255.100.100 \ -b 192.168.0.101 –Djboss.messaging.ServerPeerID=1 節(jié)點2只有-b參數(shù)與ServerPeerID參數(shù)不同 Cd /var/jboss/bin ./run.sh –c all –g DocsPartition –u 239.255.100.100 \ -b 192.168.0.102 –Djboss.messaging.ServerPeerID=2 參數(shù)-c使用all配置項,該配置項包含集群的配置項,參數(shù)-g設置集群的名稱。參數(shù)-u設置集群內(nèi)節(jié)點交互的多播地址。參數(shù)-b設置需要綁定的地址,參數(shù)-D設置系統(tǒng)屬性jboss.messaging.ServerPeerId的值,JBoss消息需要這個值在群中要求唯一。 場景2:在單臺有兩個IP地址的服務器上搭建2個節(jié)點 在同一臺設備上運行多個節(jié)點這在開發(fā)環(huán)境中是經(jīng)常出現(xiàn)的。在這種情況下,該服務器有多個地址,例如IP地址,這樣就可以讓多個JBoss實例分別綁定到不同的地址上,防止在地址綁定時出現(xiàn)端口沖突的問題。 假設這個服務器被分配了192.168.0.101和192.168.0.102兩個地址。與場景1不同,我們需要保證每個AS實例都需要有自己的工作區(qū)域。所以不能使用all配置項,我們使用node1與node2配置項,這兩個都是從all中拷貝過來的。 打開一個控制窗口運行第一個實例: cd /var/jboss/bin ./run.sh –c node1 –g DocsPartition –u 239.255.100.100 \ -b 192.168.0.101 –Djboss.messaging.ServerPeerID=1 節(jié)點2只有-b參數(shù)與-c參數(shù)不同,同時ServerPeerID的值不同 Cd /var/jboss/bin ./run.sh –c node2 –g DocsPartition –u 239.255.100.100 \ -b 192.168.0.102 –Djboss.messaging.ServerPeerID=2 場景3:在一臺只有一個地址的服務器上安裝兩個節(jié)點實例 這個與場景2類似,不同時著臺機器只有一個地址。兩個實例不能同時綁定到到同一個地址和端口,所以我們需要通知JBoss啟動實例時綁定不同的端口??梢酝ㄟ^配置jboss.service.binding.set系統(tǒng)參數(shù)來配置,這個參數(shù)由ServiceBindingManager服務提供。 打開一個控制窗口運行第一個實例: cd /var/jboss/bin ./run.sh –c node1 –g DocsPartition –u 239.255.100.100 \ -b 192.168.0.101 –Djboss.messaging.ServerPeerID=1 \ -Djboss.service.binding.set=ports-default 節(jié)點2: cd /var/jboss/bin ./run.sh –c node2 –g DocsPartition –u 239.255.100.100 \ -b 192.168.0.102 –Djboss.messaging.ServerPeerID=2 -Djboss.service.binding.set=ports-01 這樣可以通知ServiceBindingManager在第一個節(jié)點使用默認端口(例如JNDI在1099)。第二個節(jié)點使用”prots-01”綁定設置,默認是在各個默認端口的基礎上累加100(例如JNDI在1199)。可以從conf/bootstrap/bindings.xml文件中看到更多的ServiceBindingManager配置項。 |
|
來自: freeman618 > 《我的圖書館》