Skip to main content

Posts

Showing posts from March, 2013

JON - 備援的機制 (HA)

今天是3/8婦女節~ 大家要對身邊的女生好一點噢!

JON 的 HA 機制, HA 也就是 High Availability 高可用性。也就是說,幫JON 的Server 建立備援的機制。當然,多建置一個Server 就是要多管一個。所以可以先衡量一下是否真的需要安裝備援。當你確定備援真的是你的需求,那要先確認幾件事情。

1. 資料庫的影響

所有的JON Server 都需要聯結到同一個資料庫,因此這個資料庫必須要可以承受多個伺服器的Connection Pool 能力。

2. 網路的設定

所有的Agent 都要可以與所有JON Server 的連線權限。


安裝 JON 的備援很簡單,可以隨著你的網路慢慢增加,例如說,本來你只有1個JON Server,突然你想要增加,那只要找一台機器,安裝新的 JON Server 上去就可以了。

A. 跟一般安裝JON Server 的步驟一樣,解壓縮jon-server-x.zip 到你的安裝目錄,執行 bin/ 下面的 rhq-server.sh start


B. 啓動之後,到 http://HA_IP:PORT (default 7080), 就會出現這個安裝畫面,按下聯結安裝

C. 在資料庫的地方填入與上次相同的安裝資料庫位置,與使用者名與密碼,記得測試一下,然後,選擇保留資料庫的資料。 Keep (maintain existing data)


D. 在下方的server 設定選擇 New Server. 下方server 的資訊請依照安裝JON 的時候一樣設定,這裡要注意,新的Server 一定要給他一個唯一的名字。之後按下 Install Server 安裝就可以拉!



E.安裝後,登入 JON Server 後,選擇 Administrator 的 Server 就會看到兩台互相備援的Server。



F. 啟動 Agent 後,Agent 會自動找到一個Server, 你就會看到這個Server 身上掛了幾台Agent.


G.把其中一台Server 設定為維護中,(按下SET Maintenance),那台Server 的狀態就會變成 MAINTENANCE

H. 過一會兒後,你會看到Agent 從原先那台跑到了另一台Server 上。


以上。

JBoss Webinar - BRMS 線上研討會

JBoss 的線上研討會 
2013/03/27 10:30 - 11:20 LIVE!! 
請到這個地方註冊喔!
http://registrano.com/events/7b59f9


JEAP 5&6 - 編碼設定問題 (Encoding)

FAQ 系列:

常常會有人問JBoss 的編碼要如何設定,在這裡整理一下我知道的部分:
編碼的部分,除了自己程式該定好要定好之外,設定的部分大致上分為三個部分:

1. 與資料庫DataSource 連接存取的編碼問題。
這個設定與你使用的JDBC Driver 很有關係,所以參數要對照使用的資料庫,會有所不同。
不同的資料庫會有不同的參數,如 Postgresql 是 charset=UTF-8

2. 網路資料傳輸
這裡與Tomcat 有關係,因為JBoss 的 Web Container 底層是Tomcat,所以設定的也與 Tomcat一樣設定分成兩個部分,

Get
修改Server上的 URI Encoding 即可。

JBoss EAP 6

到 domain 或是 standalone.xml 裡面增加參數:

<system-properties>
<property name="org.apache.catalina.connector.URI_ENCODING" value="UTF-8"/>
<property name="org.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING" value="true"/>
</system-properties>



JBoss EAP 5

JBOSS_INSTALL_PATH/jboss-as/server/xxx/deploy/jbossweb.sar下的
server.xml 裡面修改

<!-- A HTTP/1.1 Connector on port 8080 -->
<Connector protocol="HTTP/1.1" port="8080" address="${jboss.bind.address}" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" useBodyEncodingForURI=&quo…