Skip to main content

Posts

Showing posts from July, 2012

JEAP 6 - Domain Mode 啟動

這還不是Cluster, 因為我想了一下講法, 如果一次寫太多,一來是太多東西要講了,我無從下筆。二來文章太長反倒不好找, 所以就先從 Domain 開始寫起! 如果你還不知道Domain 與 Standalone 的區隔,請先從 先前的 文章開始看起。 ===================================================== 同先前的文章所講,J老闆負責Domain 的位置,理所當然地就是從 JB_INSTALL_PATH/domain 裡面去下手囉! 進入之後,要先看一下最重要個兩個XML 設定檔案 Domain Configuration     Host Configuration Domain Configuration 修改的位置在domain.xml, 整個Domain 共用的設定都放在這裡,它主要是多個profile的組合。每個Profile會定義subsystem的設定。Subsystem 就是每個server instance 重要功能。 (這樣講好像繞口令,稍微來看一下XML) 至於各Profile 裡面的subsystem 設定,等以後有機會再寫吧。 Host Configuration 修改的位置在host.xml, 真正去定義跑在那台機器上的設定檔案。 接下來,要來真正啓動我們的Domain Server 了! 預設的方式如下,有兩台機器,每個機器各自起動 2-3個server, 由 77 (藍色) 那一臺當做為Domain Controller! 1. 決定其中一台Host 為Domain controller  在啓動前,與Standalone 一樣,我們需要建立一個新的使用者! JB_INSTALL_PATH/bin 下執行 add-user.sh 這次請選擇 a). 輸入 username 與 password 請記得最下面的 <secret value=""> 2. 指定Server Group 我們這次有 3 個group, 每個都使用Profile "default" 3. 在Host

JEAP 6 - 使用 Standalone 建立 Cluster

今天是我的生日,但是還是沒得休息! 早上費德勒送我一個很棒的生日禮物,他又回到了世界冠軍, 奪 得 溫布頓 的冠軍 獎杯,一個有毅力,不放棄的人,上天是不會虧待他的! 既然這麼被激勵,那來寫寫J老闆文, 延續上次的 話題 ,介紹了兩個不同的mode, 這兩個不同的mode也可以建立Cluster, 先來講Standalone 的方式, (Domain mode 要抓很多圖檔,好麻煩 >x< 掙扎ing ) ============================================ 首先,要啓動JBoss 的Standalone 非常之簡單,簡單到你會以為我生日所以就隨便寫! 在這裡要有個觀念,在這個版本的JBoss 中,Cluster 中所有的設定都是跟ha 有關, 而Standalone 其實就是跟 ha 的設定相同。 Standalone, 如果是沒有特別給,default 的設定是抓 standalone/configuration/ standalone.xml 看一下 standalone/configuration/ 的裡面 [root@jboss1 configuration]# ls -l 總計 140 -rw-rw-r--. 1 root root   634 2012-05-30 04:49 application-roles.properties -rw-------. 1 root root   812 2012-05-30 04:49 application-users.properties -rw-rw-r--. 1 root root  2042 2012-05-30 04:49 logging.properties -rw-------. 1 root root   916 2012-06-29 10:41 mgmt-users.properties -rw-rw-r--. 1 root root 26554 2012-05-30 04:49 standalone-full-ha.xml -rw-rw-r--. 1 root root 20672 2012-05-30 04:49 standalone-full.xml -rw-rw-r--. 1 ro

JEAP 6 - Standalone 與 Domain Mode 兩種不同的管理模式?

在進入Cluster 之前,就會提到有兩種設定的方式, 必須要在這之前先說明這兩種有什麼不同,這樣在選擇Cluster 的管理方式也會有比較清楚的認識。 Standalone Mode   並不是每個人都需要用到集中的管理模式,有許多小系統只需要跑在單一台instance 上即可,或是在本機開發程式時。使用Domain mode 好像有點殺雞用牛刀! 這裡要澄清的一點,Standalone 也可以設定為Cluster, 但它每個 Server instance 都是獨立的process, 所以管理的人員必須要自己去確認所有的 EAR, WAR 與設定在Cluster 的多個node上都是同步的. Domain Mode 這是新的J老闆非常重要的里程碑,它終於開始支援統一集中的管理介面。以前也是可以做到,但是必須透過JON 才能做到,現在不用了! 它把一堆的Server定義成一個Domain, 透過一個單一的點,叫做Domain Controller 來管理上面所有的Server。  而Domain Controller 是透過 Host Controller 去管理每個Host 上面的server, 本身Domain Controller 也是經由指定 Host Controller其中的一台選出來的! 這樣好像是繞口令, 還是用圖解的吧 ! Host   每個實體機器的都稱作Host Server   每個單一的JBoss instance. Host Controller   每當一個Host有任何一個JBoss 啓動的時候,就會生出一個Host Controller, 這個 Host Controller 負責去啓動跟關閉這台機器上的其他JBoss instance, 接收Domain Controller 的管理指令去管理那幾台Server.  (設定的地方在  domain/configuration/host.xml ) Domain Controller 簡單來說,就是單一的管理窗口!透過他跟其他的Host 聯絡設定部署的內容!這樣使用者就不需要一臺一臺的管理!他其實也只是一臺Host Controller 拿來兼差當總管理員! (設定的地方在  domain/configurat

JEAP 6 - 加密Datasource的密碼,使用Picketbox 與 Vault

新版的JBoss 跟前一個J老闆的設定方式大致相同。可以 利用Security Domain 去設定,或是新版的vault 功能! 不知道什麼是Security Domain?  去拜拜Google 大神,精進對Java EE 的瞭解吧! 我覺得新的J老闆,有一個好處,就是你可以不用再去設定xml , 透過它的admin console 去設定,就可以了。 牢騷:  不過,我向來不太喜歡用太多GUI,至少也要懂得為什麼要設定吧!(絕對不是耍帥 XD) 在改GUI 的 哪些值?對應的位置,原理。 如果只是照著文件做, 那頂多是個工匠,離大師的Level 還差得遠咧! ======================================================== 設定這個之前,請先參考先前的設定 Datasource的文章 ,確認安裝Datasource 是成功的! 新版的JBoss 把"幾乎"所有的設定都放到了 standalone.xml 與 domain.xml. 這邊使用standalone做 Example. 1. 設定DataSource 中的Security Domain. JBoss 利用把加密後的ID 與 Password 放在Security Domain 裡面。 然後利用設定不同的login module 去解密密碼。 <datasource jta="false" jndi-name="java:jboss/datasource/PostgresDB" pool-name="PostgresDB" enabled="true" use-ccm="false">      <connection-url>jdbc:postgresql://172.16.1.79:5432/postgres</connection-url>       <driver-class>org.postgresql.Driver</driver-class>       <driver>postgres</drive

JEAP 6 - 建立DataSource 連結

今天早上在捷運上習慣性地拿出手機想要滑滑~ 結果發現~我忘記帶了!!!!!! 天啊!整段捷運我都不知道要幹嘛~好漫長的一段路程! 無法想象沒有iPhone 的世界了,哈哈! 本來想先作Cluster 的,但是因為設定JDBC 被追殺的比較勤! ======================================================== 環境: 因為我還沒裝Cluster, 所以目前一切以Standalone為主, 但是 Domain 跟 Standalone 的設定方式是一樣的!所以請自行帶入!! DB:  當然是用Postgresql!  OS: Linux  安裝 Datasource 主要有兩個步驟, A. 安裝JDBC Driver  B. 設定JNDI 連結 安裝JDBC Driver 有許多種的選擇 1. Hot Deployment  2. Module Drivers 1. Hot Deployment 的安裝方式最簡單,但也因為簡單,所以限制也比較大。 也是在開發的時候,最快速的做法,因為這種方式連設定都不用設定! 因為完全不用設定,它就會有一定的限制 ❧  因為需要Jar檔裡面META-INF 裡面metadata定義的Driver 名稱,而JDBC的Standard ㄧ直到4 才製定。(除了MySql 的 driver 之外應該都可以用,因為MySql 自稱沒有通過 SQL 92 full compliance tests。 ) ❧ 不支援  XADataSourceClass ❧  不支援多個jar檔的Driver,如,過你用Oracle 的時候,需要使用特殊語系用到 orai18n.jar  這種plugin的雙jar檔就不行拉! 安裝方式 ,新版的JBoss 提供了許多介面讓使用者可以隨便自己喜歡的方式操作。 第一種,檔案直接傳輸 直接把jar檔 copy 進  $JBOSS_HOME/standalone/deployments 即可,這時,你會看到 下面的log, 就代表你已經安裝JDBC Driver 成功了! [root@jboss1 tmp]# cp p