Knight of the round table

          wansong

          Redhat上安裝JBoss及其群集

          轉(zhuǎn)載: http://xudayu.blog.51cto.com/187984/64842

          1 安裝前的準(zhǔn)備

          1.1 應(yīng)用軟件

           
          軟件
          版本
          介質(zhì)包
          所屬
          對應(yīng)操作系統(tǒng)
          JBoss
          4.0.5.GA
          jboss-4.0.5.GA.zip
          Redhat
          Linux,Windows
          JDK
          1.4.2_16
          j2sdk-1_4_2_16-
          linux-i586.bin
          Sun
          Linux(IA64硬件除外)
           
          注:1. IA64的硬件需要IA64版本的JDK。
             在linux下,JDK為j2sdk-1_4_2_16-linux-ia64.bin;
             在Windows下,JDK為j2sdk-1_4_2_16-windows-ia64.exe。
              2. JBoss可以運(yùn)行在任何支持JAVA的平臺上。
           
          1.2 下的命令

          1.2.1 常用的文本編輯器命令

          命令
          操作的含義
          vi 文件名
          打開對應(yīng)的文件
          a
          從命令模式切換到輸入模式
          Esc
          輸入模式切換到命令模式
          :
          末行模式(esc之后,在此時可以輸入命令)
          :w
          保存
          :wq
          保存并退出
          :q!
          不保存強(qiáng)制退出
          :wq!
          保存并強(qiáng)制退出
          :set nu
          顯示行號
          :數(shù)字
          定位到數(shù)字所在的行

          1.2.2 安裝過程中用到的命令

          命令
          操作的含義
          ssh IP
          登錄一臺Linux系統(tǒng)的計(jì)算機(jī)并進(jìn)行操作
          groupadd
          創(chuàng)建用戶組
          useradd –g 組名 用戶名
          創(chuàng)建用戶到組
          passwd 用戶名
          為新用戶創(chuàng)建密碼
          exit
          退出當(dāng)前命令窗口
          chmod XXX 文件名
          修改文件權(quán)限
          ls
          查看當(dāng)前目錄下的文件
          unzip
          解壓zip格式的壓縮包

          1.2.3 使用的省略詞含義

           命令  操作的含義
           JBOSS_HOME  JBoss的安裝路徑
           YOURAPP  應(yīng)用程序包名稱
           JAVA_HOME  JDK安裝路徑
           APACHE_HOME  Apache軟件的安裝路徑

          2 安裝與環(huán)境配置

          2.1 創(chuàng)建用戶

          [root@node1 ~]# useradd jboss
          [root@node1 ~]# passwd jboss
          Changing password for user jboss.
          New UNIX password:  
          BAD PASSWORD: it is too short
          Retype new UNIX password:  
          passwd: all authentication tokens updated successfully.
          [root@node1 ~]#exit
           

          2.2 使用用戶登錄系統(tǒng)

          Type `help' to learn how to use Xshell prompt.
          Xshell:\> ssh 192.168.200.151
           
           
           

          2.3 使用用戶上傳軟件

           
           
          查看上傳文件結(jié)果:
          [jboss@node1 ~]$ ls
          jdk-1_5_0_14-linux-i586.bin         jboss-4.0.5.GA.zip

          2.4 安裝修改JDK文件的權(quán)限,使其執(zhí)行,并安裝(ctrl+c跳過版本說明,鍵入yes進(jìn)行jdk安裝

                 [jboss@node1 ~]$ chmod 755 jdk-1_5_0_14-linux-i586.bin
          [jboss@node1 ~]$ ./jdk-1_5_0_14-linux-i586.bin

          2.5 安裝[jboss@node1 ~]$ unzip jboss-4.0.5.GA.zip
          [jboss@node1 ~]$ vi JBOSS_HOME/bin/run.conf
           
          添加JAVA_HOME,查找并將紅色一行
          30 # be defined to $JAVA_HOME/bin/java, else $JAVA will be "java".
          31 #
          32 #JAVA_HOME="/opt/java/jdk"
           
          替換成
          30 # be defined to $JAVA_HOME/bin/java, else $JAVA will be "java".
          31 #
          32 JAVA_HOME="/home/jboss/jdk1.5.0_14" //你的JDK安裝路徑
           
          使用":wq"保存退出

           

          2.6 JBoss的啟動和關(guān)閉

          窗口啟動方式及后臺啟動方式(事實(shí)上,這種啟動是默認(rèn)執(zhí)行了一個啟動參數(shù)run.sh -c default,在JBOSS_HOME/server/中,有jboss的三種配置:all,default,minimal。你也可以自己復(fù)制其中的文件夾,命名為自己的服務(wù),如:myserver,啟動的時候只需要run.sh -c myserver就行了。):
          [jboss@node1 ~]$ JBOSS_HOME/bin/run.sh //啟動后此窗口不能再做他用
          [jboss@node1 ~]$ JBOSS_HOME/bin/run.sh & //啟動后此窗口還可繼續(xù)進(jìn)行其他操作
           
          窗口啟動方式及后臺啟動方式的關(guān)閉:
          窗口啟動方式的,在此窗口直接按“Ctrl+C”就行了
          [jboss@node1 ~]$ JBOSS_HOME/bin/shutdown.sh -S //后臺啟動方式的關(guān)閉
           
          注意:上面所說的JBoss4.0.5.GA的運(yùn)行與關(guān)閉方式,由于JBoss的后續(xù)版本(4.2.0GA+)做了安全修改,不像JBoss4.0.5.GA那樣,默認(rèn)就是啟動了全局暴露(就是外IP都可以訪問),而是需要增加一個啟動參數(shù),才能被外IP訪問,因此啟動命令變成:
          [jboss@node1 ~]$ JBOSS_HOME/bin/run.sh -b 你的IP地址 //暴露此IP上的jboss服務(wù),如果一個機(jī)器上有2以上的ip呢?如下命令,暴露所有ip上的jboss服務(wù)
          [jboss@node1 ~]$ JBOSS_HOME/bin/run.sh -b 0.0.0.0
           
          隨之關(guān)閉命名也就變成:
          [jboss@node1 ~]$ JBOSS_HOME/bin/shutdown.sh -S -s 你的IP地址
           

          3 JBoss集群安裝

          3.1 Apache安裝

          3.1.1 使用Redhat系統(tǒng)自帶的apache服務(wù)(建議使用)

          啟動:
          [root@node1 ~]$ service httpd start
           
          關(guān)閉:
          [root@node1 ~]$ service httpd stop
           
          重新啟動:
          [root@node1 ~]$ service httpd restart
           
          狀態(tài):
          [root@node1 ~]$ service httpd status
           
          設(shè)置隨系統(tǒng)啟動:
          [root@node1 ~]$ chkconfig –level 345 httpd on
           

          3.1.2 自己安裝Apache

          [url]http://httpd.apache.org/[/url] 網(wǎng)站下載Apache2.x.x版本的源碼包。
          [root@node1 ~]$ tar zxvf httpd-2.0.54.tar.gz  //解壓
          [root@node1 ~]$cd httpd-2.0.54
          [root@node1 httpd-2.0.54]$./configure --enable-MODULE=shared --enable-so  --with-mpm=worker –prefix=PREFIX  //編譯
          [root@node1 httpd-2.0.54]$ make
          [root@node1 httpd-2.0.54]$ make install
          注:PREFIXApache指定的安裝路徑。默認(rèn)的路徑的為/usr/local/apache2
          (本人對Apache也不熟悉,但這樣基本上可以正常工作了)

          3.2 mod_jk編譯

          3.2.1 使用系統(tǒng)Apachemod_jk選用

          [url]http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/[/url]
          網(wǎng)站下載mod_jk

          3.2.2 編譯mod_jk

          [root@node1 ~]$ tar zxvf tomcat-connectors-1.2.23-src.tar.gz
          [root@node1 ~]$cd tomcat-connectors-1.2.23-src
          [root@node1 tomcat-connectors-1.2.23-src]$./configure --with-apxs=PREFIX/apxs
          [root@node1~]$ make

          注:PREFIX 為系統(tǒng)Apache服務(wù)的apxs路徑,每個linux系統(tǒng)不一樣,你可以用whereis apxs搜索一下。

          3.2.3 使用自己安裝Apachemod_jk選用

          可以從[url]http://www.apache.org/dist/jakarta/tomcat-connectors/[/url]
          jk/binaries/
          下載對應(yīng)操作系統(tǒng)的mod_jk 1.2.x 的二進(jìn)制版本。



          3.3 配置Apache裝載mod_jk

          修改 APACHE_HOME/conf/httpd.conf 文件:

          [root@node1 ~]$vi /etc/httpd/conf/httpd.conf

          在文件的末尾添加一行,保存退出:
          # Include mod_jk's specific configuration file
          Include conf/mod-jk.conf
           
          創(chuàng)建一個名字為APACHE_HOME/conf/mod-jk.conf的文件,并增加如下內(nèi)容:
          # Load mod_jk module
          # Specify the filename of the mod_jk lib
          LoadModule jk_module modules/mod_jk.so
          # Where to find workers.properties
          JkWorkersFile conf/workers.properties
          # Where to put jk logs
          JkLogFile logs/mod_jk.log
          # Set the jk log level [debug/error/info]  
          JkLogLevel info
          # Select the log format
          JkLogStampFormat    "[%a %b %d %H:%M:%S %Y]"
          # JkOptions indicates to send SSK KEY SIZE
          JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
          # JkRequestLogFormat
          JkRequestLogFormat "%w %V %T"
          # Mount your applications
          JkMount /application/* loadbalancer
          # You can use external file for mount points.
          # It will be checked for updates each 60 seconds.
          # The format of the file is: /url=worker
          # /examples/*=loadbalancer
          JkMountFile conf/uriworkermap.properties
          # Add shared memory.
          # This directive is present with 1.2.10 and
          # later versions of mod_jk, and is needed for
          # for load balancing to work properly
          JkShmFile logs/jk.shm
          # Add jkstatus for managing runtime data
          <Location /jkstatus/>
            JkMount status
            Order deny,allow
          Deny from all
          Allow from 127.0.0.1
          </Location>
           
           
          創(chuàng)建一個名字為APACHE_HOME/conf/uriworkermap.properties的文件,并增加如下內(nèi)容:
          # Simple worker configuration file
          # Mount the Servlet context to the ajp13 worker
          /jmx-console=loadbalancer
          創(chuàng)建一個名字為APACHE_HOME/conf/workers.properties的文件,并增加如下內(nèi)容:
          # Define list of workers that will be used
          # for mapping requests
          worker.list=loadbalancer,status
          # Define Node1
          # modify the host as your host IP or DNS name.
          worker.node1.port=8009
          worker.node1.host=node1.mydomain.com
          worker.node1.type=ajp13
          worker.node1.lbfactor=1
          worker.node1.cachesize=10
          # Define Node2
          # modify the host as your host IP or DNS name.
          worker.node2.port=8009
          worker.node2.host=node2.mydomain.com
          worker.node2.type=ajp13
          worker.node2.lbfactor=1
          worker.node2.cachesize=10
          # Load-balancing behaviour  
          worker.loadbalancer.type=lb
          worker.loadbalancer.balance_workers=node1,node2  
          worker.loadbalancer.sticky_session=1
          #worker.list=loadbalancer
          # Status worker for managing load balancer  
          worker.status.type=status
           
              將前面編譯過的mod_jk.so和下載的mod_jk.so復(fù)制到APACHE_HOME/modules文件夾下。其中,mod_jk.so的名字要與mod-jk.conf文件中的
          LoadModule jk_module modules/mod_jk.so”相同。

          3.3 集群配置

          3.3.1 加入集群:

          編輯JBOSS_HOME/server/all/deploy/jbossweb-tomcat50.sar/server.xml文件(在jboss中,all的配置就是集群配置,而jbossweb-tomcat50.sar是jboss4.0.5.GA的配置,在4.2.0+里是jboss-web.deployer):

          <Engine name="jboss.web" defaultHost="localhost">  
          ... ...  
          </Engine>  
          為  
          <Engine name="jboss.web" defaultHost="localhost"
          jvmRoute="node1">  
          ... ...  
          </Engine>  
          <!--其中,node1為節(jié)點(diǎn)名,與前面mod_jk那里的workers.properties里的節(jié)點(diǎn)對應(yīng)-->

          3.3.2 激活編輯JBOSS_HOME/server/all/deploy/jbossweb-tomcat50.sar/META-INF/
          jboss-service.xml
          文件:
          <attribute name="UseJK">fasle</attribute>  
          <!--改為 -->
          <attribute name="UseJK">true</attribute>
          3.3.3 配置應(yīng)用集群
          Session復(fù)制:
          修改文件,文件的開頭增加<?xml version="1.0"?>  
          <web-app    [url]http://java.sun.com/xml/ns/j2ee=[/url]"http://java.sun.com/xml/ns/j2ee"  
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
          xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee  
          [url]http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd[/url]"  
          version="2.4">  
          <distributable/>  
          <!-- ... -->  
          </web-app>
           
          配置復(fù)制模式:
          增加jboss-web.xml文件,添加如下內(nèi)容(這都是默認(rèn),具體的要根據(jù)你的應(yīng)用、運(yùn)行環(huán)境來配置,可參考《JBoss企業(yè)級應(yīng)用服務(wù)平臺群集指南》的英文官方文檔):
          <?xml version="1.0"?>  
          <jboss-web>  
          <replication-config>  
          <replication-trigger>SET_AND_NON_PRIMITIVE_GET</replication-trigger>  
          <replication-granularity>SESSION</replication-granularity>  
          <replication-field-batch-mode>true</replication-field-batch-mode>  
          </replication-config>  
          </jboss-web>
           
          3.4 JBoss集群的啟動與關(guān)閉
          與前面的單個jboss啟動和關(guān)閉一樣,只是在啟動命令里的把default換成了all:
          [jboss@node1 ~]$ JBOSS_HOME/bin/run.sh -c all
           
          3.5 集群下的應(yīng)用程序部署及卸載
          集群里有個服務(wù),即熱部署應(yīng)用歸檔文件例如包或是包。不是文件夾后面加個".war"的那種)。
              將你的應(yīng)用程序打好等歸檔文件包放到集群中任意一臺文件夾中,會自動的復(fù)制此應(yīng)用歸檔文件到集群中的其他節(jié)點(diǎn)并完成部署。
              在運(yùn)行的集群服務(wù)中,從任何一個節(jié)點(diǎn)的目錄下刪除應(yīng)用,應(yīng)用程序首先從本地卸載,然后再從集群中其他服務(wù)節(jié)點(diǎn)的目錄刪除應(yīng)用。
          3.6 其他
              上面所做的配置和修改都是使用做前端負(fù)載的方式,如果使用其他硬件產(chǎn)品做前端負(fù)載(如:),則不需要修改,只需使用啟動即可。同時,不管哪種方式,都是要在同一個網(wǎng)段中(如:)。
           
          好了,到此jboss的簡單群集配置完畢。水平有限,錯誤之處請諒解。也希望大家的完善。
           


          /jmx-console/*=loadbalancer
          /web-console=loadbalancer
          /web-console/*=loadbalancer
           








          posted on 2011-08-07 15:28 w@ns0ng 閱讀(1036) 評論(0)  編輯  收藏 所屬分類: jboss 、Linux

          主站蜘蛛池模板: 克什克腾旗| 和硕县| 彩票| 平乡县| 六安市| 澎湖县| 云梦县| 泰顺县| 石家庄市| 新源县| 靖江市| 云阳县| 托克逊县| 南平市| 彭州市| 来凤县| 永新县| 无棣县| 涡阳县| 亳州市| 环江| 从江县| 建始县| 岫岩| 德阳市| 南皮县| 红原县| 高淳县| 霍州市| 贺兰县| 建阳市| 新龙县| 尖扎县| 姚安县| 抚宁县| 望江县| 长阳| 西宁市| 凤凰县| 宝山区| 富顺县|