OC4J集群

步骤一:把你的web-application安装到所有集群中的OC4J.

       首先,确保集群中的所有oc4j安装有相同的web-application。单独访问这些web-application,看看它们在没有机群的情况下是否工作正常。

步骤二:设置你得web-application可以复制它的状态。

       修改config/global-web-application.xml。在<orion-web-app>标签下加入<cluster-config/>标签。按照下面的例子填写,除了ID外,其他的可以不进行修改。ID设为有意义的信息,例如本机的IP。在每个web服务的目录中web-inf/web.xml中加入<distributable />标签。

<!--Tag that is defined if the application is to be clustered.

       Clustered applications have their ServletContext and session

       data shared between the apps in the cluster, the values have to

        be either Serializable or be remote RMI-objects (implement java.rmi.Remote).

        

       host - The multicast host/ip to transmit and receive cluster data on.

              The default is 230.0.0.1.

       id - The id (number) of this cluster node to identify itself with in the cluster.

           The default is based on local machine IP.

       port - The port to transmit and receive cluster data on. The default is 9127.

       -->

       <cluster-config host="230.0.0.1" id="1" port="9127" />

 

步骤三:设置集群点。

修改config/default-web-site.xml中的<web-site>标签。修改其host属性为本机的IPcluster-island的值在每个集群点上要不同。

 

<!-- change the host name below to your own host name. Localhost will -->

<!-- not work with clustering -->

<!-- also add cluster-island attribute as below-->

<web-site host="172.20.10.104" port="8881" display-name="Default Oracle 9iAS Java WebSite" cluster-island="1" >

步骤四:告诉后台服务器前端balancer的地址。

       在上个步骤的相同的xml文件中,在<web-site>标签中加入<frontend>标签。Host是运行balancer的机器名,port是端口号。这个hostport就是向外公布的服务器地址,所以port设置为80比较合适。

<frontend host="cw" port="80" />

步骤五:启动balancer

       要运行balancer,只需要运行java –jar loadbalancer.jar。其中可以加入一些参数。-debug是个有用的参数,建议在首次运行时,加入这个参数,以便于调试。

步骤六:运行后台服务。

       运行java –jar orion.jar 你可以看到后台服务器注册到balancer的信息。如果没有看到,就说明可能网络不支持“广播(multicast)”。如果想获得更多调试信息可以使用:

java –Dhttp.cluster.debug=true –Dcluster.debug=true –jar orion.jar

步骤七:测试

       用浏览器访问balancer所在主机名和端口,看是否运行正常。关闭正在使用的某个后台服务器,看其他服务器能否代替该服务器继续工作。

附录

global-web-application.xml

<?xml version="1.0"?>

<!DOCTYPE orion-web-app PUBLIC '//Evermind//Orion web-application' 'http://xmlns.oracle.com/ias/dtds/orion-web.dtd'>

 

<!-- Set development="true" to enabvle development, enable this if you

want to debug JSP sources etc -->

 

<orion-web-app

       jsp-cache-directory="./persistence"

       servlet-webdir="/servlet"

       development="true"

>  

 

       <!-- The mime-mappings for this server -->

       <mime-mappings path="./mime.types" />

       <servlet-chaining servlet-name="xsl" mime-type="text/xml" />

 

       <web-app>

              <servlet>

                     <servlet-name>xsl</servlet-name>

                     <servlet-class>com.evermind.servlet.XSLServlet</servlet-class>

                     <init-param>

                            <param-name>defaultContentType</param-name>

                            <param-value>text/html</param-value>

                     </init-param>

              </servlet>

      

              <servlet>

                     <servlet-name>jsp</servlet-name>

                     <servlet-class>com.evermind.server.http.JSPServlet</servlet-class>

              </servlet>

 

              <servlet>

                     <servlet-name>rmi</servlet-name>

                     <servlet-class>com.evermind.server.rmi.RMIHttpTunnelServlet</servlet-class>

              </servlet>

 

              <servlet>

                     <servlet-name>ssi</servlet-name>

                     <servlet-class>com.evermind.server.http.SSIServlet</servlet-class>

              </servlet>

 

              <servlet>

                     <servlet-name>cgi</servlet-name>

                     <servlet-class>com.evermind.server.http.CGIServlet</servlet-class>

              </servlet>

 

              <servlet>

                     <servlet-name>perl</servlet-name>

                     <servlet-class>com.evermind.server.http.CGIServlet</servlet-class>

                     <init-param>

                            <param-name>interpreter</param-name>

                            <param-value>perl</param-value>

                     </init-param>

              </servlet>

 

              <servlet>

                     <servlet-name>php</servlet-name>

                     <servlet-class>com.evermind.server.http.CGIServlet</servlet-class>

                     <init-param>

                     <param-name>interpreter</param-name>

                            <param-value>php</param-value>

                     </init-param>

              </servlet>

              <servlet-mapping>

                     <servlet-name>jsp</servlet-name>

                     <url-pattern>/*.jsp</url-pattern>

              </servlet-mapping>

 

              <servlet-mapping>

                     <servlet-name>cgi</servlet-name>

                     <url-pattern>/*.cgi</url-pattern>

              </servlet-mapping>

 

              <servlet-mapping>

                     <servlet-name>perl</servlet-name>

                     <url-pattern>/*.pl</url-pattern>

              </servlet-mapping>

 

              <servlet-mapping>

                     <servlet-name>php</servlet-name>

                     <url-pattern>/*.php</url-pattern>

              </servlet-mapping>

 

              <servlet-mapping>

                     <servlet-name>php</servlet-name>

                     <url-pattern>/*.php3</url-pattern>

              </servlet-mapping>

 

              <servlet-mapping>

                     <servlet-name>php</servlet-name>

                     <url-pattern>/*.phtml</url-pattern>

              </servlet-mapping>

 

              <servlet-mapping>

                     <servlet-name>ssi</servlet-name>

                     <url-pattern>/*.shtml</url-pattern>

              </servlet-mapping>

              <welcome-file-list>

                     <welcome-file>index.html</welcome-file>

                     <welcome-file>default.jsp</welcome-file>

              </welcome-file-list>

       </web-app>

       <!--Tag that is defined if the application is to be clustered.

       Clustered applications have their ServletContext and session

       data shared between the apps in the cluster, the values have to

        be either Serializable or be remote RMI-objects (implement java.rmi.Remote).

        

       host - The multicast host/ip to transmit and receive cluster data on.

              The default is 230.0.0.1.

       id - The id (number) of this cluster node to identify itself with in the cluster.

           The default is based on local machine IP.

       port - The port to transmit and receive cluster data on. The default is 9127.

       -->

       <cluster-config host="230.0.0.1" id="1" port="9127" />

 

 

 

 

</orion-web-app>

default-web-site.xml

<?xml version="1.0"?>

<!DOCTYPE web-site PUBLIC "Oracle9iAS XML Web-site" "http://xmlns.oracle.com/ias/dtds/web-site.dtd">

 

<!-- change the host name below to your own host name. Localhost will -->

<!-- not work with clustering -->

<!-- also add cluster-island attribute as below-->

<web-site host="172.20.10.104" port="8881" display-name="Default Oracle 9iAS Java WebSite"  cluster-island="1" >

 

 

<!--<web-site port="8881" display-name="Default Oracle9iAS Containers for J2EE Web Site">-->

        <!-- Uncomment the following line when using clustering -->

        <frontend host="cw" port="80" />

       <!-- The default web-app for this site, bound to the root -->

       <default-web-app application="default" name="defaultWebApp" />

       <web-app application="CTIMis" name="WEB" root="/WEB" />

       

        <!-- Uncomment the following, to access these apps.

       <web-app application="news" name="news-web" root="/news" />

       <web-app application="logger" name="messagelogger-web" root="/messagelogger" />

       <web-app application="logger" name="messagelogger-web" root="/messagelogger" />

        -->

       <!-- Access Log, where requests are logged to -->

       <access-log path="../log/default-web-access.log" />

</web-site>

web.xml

<?xml version="1.0"?>

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

 

<web-app>

       <!-- A demo servlet, add servlets below -->

       <servlet>

              <servlet-name>snoop</servlet-name>

              <servlet-class>SnoopServlet</servlet-class>

       </servlet>

       <distributable />

</web-app>

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值