Skip Headers
Oracle® Identity Manager Installation and Configuration Guide for JBoss Application Server
Release 9.1.0.1

Part Number E14046-03
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

5 Installing and Configuring JBoss Application Server in Clustered Mode

This chapter describes how to deploy Oracle Identity Manager in a clustered JBoss Application Server environment.

This chapter discusses the following topics:

Caution:

Deploying an application in a clustered installation is a complex procedure. This document assumes that you have expertise in installing and using applications in a JBoss Application Server cluster. This chapter provides Oracle Identity Manager-specific information only. It does not cover the procedure to set up a JBoss Application Server cluster. For more information about clustering, see JBoss Application Server documentation.

5.1 Overview of Installation in a Clustered Installation

To install Oracle Identity Manager on a JBoss Application Server cluster, you must complete the following general tasks:

  1. Install Oracle Identity Manager on the first node in your JBoss Application Server cluster.

    See "Installing Oracle Identity Manager on the First Node" for more information.

  2. Copy the JBoss Application Server and Oracle Identity Manager installation directories from the first node in your JBoss Application Server cluster to all other nodes. Ensure that you maintain the original directory structure throughout this process.

    See "Copying Oracle Identity Manager to Additional JBoss Application Server Nodes" for more information.

  3. If you are using Microsoft SQL Server as your database, then locate the JDBC driver file (sqljdbc.jar) and copy them to the JBOSS_ HOME/server/all/lib directory.

    See "Configuring JBoss Application Server for Microsoft SQL Server" for more information.

  4. Set up the Apache Web server for your JBoss Application Server cluster.

    See "Setting Up the Apache Web Server for JBoss Application Server" for more information.

  5. Perform postinstallation configuration of Oracle Identity Manager on the JBoss Application Server cluster.

    See "Configuring Oracle Identity Manager on the JBoss Application Server Cluster" for more information.

  6. Start the cluster.

    See "Starting the JBoss Application Server Cluster" for more information.

5.2 Installing Oracle Identity Manager on the First Node

Follow the installation steps for Oracle Identity Manager in "Installing Oracle Identity Manager on Microsoft Windows" or "Installing Oracle Identity Manager on UNIX" to install Oracle Identity Manager on the first node in the JBoss Application Server cluster.

5.3 Copying Oracle Identity Manager to Additional JBoss Application Server Nodes

Ensure that the name and path of the JAVA_HOME directory used by Oracle Identity Manager is the same across all the nodes of the cluster.

Then, for each additional node in your JBoss Application Server cluster, copy the JBoss and Oracle Identity Manager installation directories from the first node to all other nodes. Maintain the original directory structure and hierarchy throughout this process.

5.4 Setting Up the Apache Web Server for JBoss Application Server

See Appendix B for information about this procedure.

5.5 Installing and Configuring a Database for Oracle Identity Manager

Refer to Chapter 3, "Installing and Configuring a Database" for information.

5.6 Configuring Oracle Identity Manager on the JBoss Application Server Cluster

To configure Oracle Identity Manager on your JBoss Application Server cluster:

  1. For each successive node in the cluster, navigate to the JBOSS_HOME/server/all/deploy/jboss-web.deployer directory, open the server.xml file in a text editor, and then perform the following steps:

    1. Locate the following string:

      <Engine name="jboss.web" defaultHost="localhost" jvmRoute

    2. Change the value of jvmRoute to the name of the node associated with the computer on which you are currently working.

      Note:

      The name of the node should be node1, node2, or node3, and so on as listed in the workers.properties file associated with the computer on which you are currently working.

      For example:

      <Engine name="jboss.web" defaultHost="localhost" jvmRoute="node1">

    3. Comment out the following block:

      <Valve className="org.jboss.web.tomcat.tc5.sso.ClusteredSingleSignOn" /><Valve className="org.jboss.web.tomcat.tc5.jca.CachedConnectionValve"                cachedConnectionManagerObjectName="jboss.jca:service=CachedConnectionManager"                transactionManagerObjectName="jboss:service=TransactionManager" />
      
  2. For each successive node in your cluster, navigate to the JBOSS_HOME/ server/all/deploy directory, open the cluster-service.xml file, and then perform the following steps:

    1. Comment out the following block:

      <!-- 
        <Config> <UDP mcast_addr="228.1.2.3" mcast_port="45566" ip_ttl="8" ip_mcast="true" mcast_send_buf_size="800000" mcast_recv_buf_size="150000" ucast_send_buf_size="800000" ucast_recv_buf_size="150000" loopback="false"/> 
        <PING timeout="2000" num_initial_members="3" up_thread="true" down_thread="true"/> 
        <MERGE2 min_interval="10000" max_interval="20000"/> <FD shun="true" up_thread="true" down_thread="true" timeout="2500" max_tries="5"/> 
        <VERIFY_SUSPECT timeout="3000" num_msgs="3" up_thread="true" down_thread="true"/> 
        <pbcast.NAKACK gc_lag="50" retransmit_timeout="300,600,1200,2400,4800" max_xmit_size="8192" up_thread="true" down_thread="true"/> 
        <UNICAST timeout="300,600,1200,2400,4800" window_size="100" min_threshold="10" down_thread="true"/> 
        <pbcast.STABLE desired_avg_gossip="20000" up_thread="true" down_thread="true"/> 
        <FRAG frag_size="8192" down_thread="true" up_thread="true"/> 
        <pbcast.GMS join_timeout="5000" join_retry_timeout="2000" shun="true" print_local_addr="true"/> 
        <pbcast.STATE_TRANSFER up_thread="true" down_thread="true"/> 
      </Config> 
      -->
      
    2. Uncomment the following block:

      <Config> 
        <TCP bind_addr="thishost" start_port="7800" loopback="true"/>
        <TCPPING initial_hosts="thishost[7800],otherhost[7800]" port_range="3" timeout="3500" num_initial_members="3" up_thread="true" down_thread="true"/>
        <MERGE2 min_interval="5000" max_interval="10000"/>
        <FD shun="true" timeout="2500" max_tries="5" up_thread="true" down_thread="true" />
        <VERIFY_SUSPECT timeout="1500" down_thread="false" up_thread="false" />
        <pbcast.NAKACK down_thread="true" up_thread="true" gc_lag="100" retransmit_timeout="3000"/>
        <pbcast.STABLE desired_avg_gossip="20000" down_thread="false" up_thread="false" />
        <pbcast.GMS join_timeout="5000" join_retry_timeout="2000" shun="false" print_local_addr="true" down_thread="true" up_thread="true"/>
        <pbcast.STATE_TRANSFER up_thread="true" down_thread="true"/>
      </Config>
      
    3. Within the block listed in Step b, replace thishost with the IP address of the computer on which you are currently working. The entire IP address must be enclosed in double quotation marks. For example:

      TCPbind_addr="192.168.161.20".
      
    4. Within the block listed in Step b, replace otherhost with the IP address of the other computer in the cluster, or, if the cluster contains more than two nodes, replace otherhost with a comma-delimited list of all the IP addresses. The IP address must be enclosed in double quotation marks.

  3. For each successive node in your cluster, navigate to the JBOSS_HOME/ server/all/deploy/jboss-web-cluster.sar/META-INF directory, open the jboss-service.xml file, and then perform the following steps:

    1. Comment out the following block:

      <!-- 
        <Config>
          <UDP mcast_addr="228.1.2.3" mcast_port="45566" ip_ttl="8" ip_mcast="true" mcast_send_buf_size="800000" mcast_recv_buf_size="150000" ucast_send_buf_size="800000" ucast_recv_buf_size="150000" loopback="false"/> 
          <PING timeout="2000" num_initial_members="3" up_thread="true" down_thread="true"/> 
          <MERGE2 min_interval="10000" max_interval="20000"/> <FD shun="true" up_thread="true" down_thread="true" timeout="2500" max_tries="5"/> 
          <VERIFY_SUSPECT timeout="3000" num_msgs="3" up_thread="true" down_thread="true"/> 
          <pbcast.NAKACK gc_lag="50" retransmit_timeout="300,600,1200,2400,4800" max_xmit_size="8192" up_thread="true" down_thread="true"/> 
          <UNICAST timeout="300,600,1200,2400,4800" window_size="100" min_threshold="10" down_thread="true"/> 
          <pbcast.STABLE desired_avg_gossip="20000" up_thread="true" down_thread="true"/> 
          <FRAG frag_size="8192" down_thread="true" up_thread="true"/> 
          <pbcast.GMS join_timeout="5000" join_retry_timeout="2000" shun="true" print_local_addr="true"/> 
          <pbcast.STATE_TRANSFER up_thread="true" down_thread="true"/> 
        </Config> 
      -->
      
    2. Uncomment the following block:

      <Config>
        <TCP bind_addr="thishost" start_port="7800" loopback="true"/>
        <TCPPING initial_hosts="thishost[7800],otherhost[7800]" port_range="3" timeout="3500" num_initial_members="3" up_thread="true" down_thread="true"/>
        <MERGE2 min_interval="5000" max_interval="10000"/> <FD shun="true" timeout="2500" max_tries="5" up_thread="true" down_thread="true" />
        <VERIFY_SUSPECT timeout="1500" down_thread="false" up_thread="false" />
        <pbcast.NAKACK down_thread="true" up_thread="true" gc_lag="100" retransmit_timeout="3000"/>
        <pbcast.STABLE desired_avg_gossip="20000" down_thread="false" up_thread="false" />
        <pbcast.GMS join_timeout="5000" join_retry_timeout="2000" shun="false" print_local_addr="true" down_thread="true" up_thread="true"/>
        <pbcast.STATE_TRANSFER up_thread="true" down_thread="true"/>
      </Config>
      
    3. Within the block listed in Step b, replace thishost with the IP address of the computer on which you are currently working. The entire IP address must be enclosed in double quotation marks. For example:

      TCPbind_addr="192.168.161.20".
      
    4. Within the block listed in Step b, replace otherhost with the IP address of the other computer in the cluster, or, if the cluster contains more than two nodes, replace otherhost with a comma-delimited list of all the IP addresses. The IP address must be enclosed in double quotation marks.

  4. For each successive node in the cluster, modify the OIM_HOME/xellerate/config/xlconfig.xml file.

    Locate the setting for the java.naming.provider.url in the <Discovery> section and insert a comma-delimited list of URLs corresponding to all the nodes in the cluster.

    For example, you might change a string as shown in the following sample:

    <java.naming.provider.url>
        jnp://IP_address_of_node1:1100,IP_address_of_node_2:1100
      </java.naming.provider.url>
    
  5. For each successive node in the cluster, open the JBOSS_HOME/server/all/deploy/jboss-web-cluster.sar/META-INF/jboss-service.xml file and locate the following string:

    <attribute name="ClusterName">Tomcat-${jboss.partition.name:Cluster}</attribute>
    

    Replace Cluster with the name of the cluster you provide during the installation.

5.7 Starting the JBoss Application Server Cluster

To start the JBoss Application Server cluster on which you install and configure Oracle Identity Manager:

  1. Start one node of the cluster. This node is commonly referred to as the master node.

    Navigate to the directory OIM_HOME/xellerate/bin, and then run one of the following commands:

    On Microsoft Windows:

    xlStartServer.bat

    On UNIX:

    xlStartServer.sh

  2. On each remaining computer in the cluster, navigate to the OIM_HOME/xellerate/bin directory. Then, run one of the following commands:

    On Microsoft Windows:

    xlStartServer.bat

    On UNIX:

    xlStartServer.sh

  3. Access the Administration console by opening a browser and pointing it to the following URL

    http://apache_installed_hostname_OR_IP_address/xlWebApp