JBOSS遇到‘jboss.mq:service=DestinationManager’報錯

ai3707發表於2016-03-18
  近期在運維某應用系統時,應用伺服器JBOSS日誌中頻繁出現報錯,‘jboss.mq:service=DestinationManager‘,經過檢視一些資料明白了報錯原由,也對JBOSS在同一區域網內部署多套叢集的執行原理有了更深入的理解。

  在一個內部署JBOSS 的不同叢集需要了解兩個基本的概念:HAPartition 和JGroups Channel

   HAPartition 是一個基礎服務用於邏輯上的,負責處理各個node見再同一個叢集中的通訊,即使處於同一個HAPartition(以及處於同一個JGroups Channel 的)下的node才可以通訊


   JGroups Channel 則是物理層的基礎服務,負責各個node的物理層的通訊,也就是說HAPartition是再JGroups Channel之上的一層,這是我的理解。


   再瞭解了兩個基礎只是後,可以開始配置不同的叢集了,現在有兩個方案可以選擇,一是再邏輯上分開,即是兩個叢集物理上可以通訊,在邏輯上處於不同的HAPartition;二是處理不同的物理層(並不是網路分開,而是處於不同JGroups Channel,廣播地址上分開)

  方案一:

   其實配置方式很簡單 和JBOSS-5.0.0GA的叢集搭建(一)的配置一樣就是啟動方式改變

  Java程式碼   

./run.sh -c all -b 10.147.128.116 -g MyPartition

./run.sh -c all -b 10.147.128.68 -g MyPartitionTwo

  採用這種方式啟動JBOSS 就可以,這樣會發現再再HAPartition啟動時不會發現對方的存在,但物理上會發現對方。

  這裡我們可以測試一下還是採用JBOSS-5.0.0GA的叢集搭建(一)的測試包 進行測試發現 session已經無法共享,說明兩個JBOSS已經處於不同cluster中

  方案一:

   其實配置方式很簡單 和JBOSS-5.0.0GA的叢集搭建(一)的配置一樣就是啟動方式改變

  Java程式碼   

./run.sh -c all -b 10.147.128.116 -g MyPartition  -u 233.3.4.6

./run.sh -c all -b 10.147.128.68 -g MyPartitionTwo -u 233.3.4.7

 

  採用這種方式啟動JBOSS 就可以,-u 改變JBOSS叢集的廣播地址這裡如果分割槽一樣也沒有關係

  這裡我們可以測試一下還是採用JBOSS-5.0.0GA的叢集搭建(一)的測試包 進行測試發現 session已經無法共享,說明兩個JBOSS已經處於不同cluster中

  注意,這裡如果跑多個叢集再同一個網路要注意客戶端HA-JNDI的配置需要指定下面幾個引數:

  jnp.partitionName : 叢集的partition的名字

  jnp.discoveryGroup :叢集的廣播地址

  jnp.discoveryPort :叢集的埠

  這幾個引數需要在 Properteis 中指定否則會無法連線到 HA-JNDI

  有理解有問題的地方還請各位指正

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29018063/viewspace-2059498/,如需轉載,請註明出處,否則將追究法律責任。

相關文章