Enabling horizontal cluster for the Admin UI and the Persona-based UI

Horizontal clustering involves adding more computers to a cluster. You can spread the cluster across several computers horizontally.

With horizontal clustering, multiple application servers are deployed on the different physical computers, which provide an easy and convenient way of scaling beyond hardware limitations of a single computer. If a computer fails, the remaining computers are unaffected and the application can still be served by another cluster member. Horizontal clustering also increases the scalability of the system by distributing the processing across several CPUs. Typically, each physical computer comprises one node, so generally, you can say that each computer is a cluster node.

To enable a horizontal cluster for the Admin UI and Persona-based UI you need to perform the following tasks:
  • Setting up horizontal cluster on the two boxes running Admin UI with Persona-based UI over the IBM® HTTP Server
  • Deploying the Admin UI and Persona-based UI in the clustered environment
  • Deploying the Admin UI on the AppSrv01Host01
  • Deploying the Persona-based UI on the AppSrv01Host01
  • Configuring WebSphere® Application Server on AppSrv02Host02
  • Creating a cluster of Horizontal topology
  • Configuring JVM parameters and InfoSphere® Master Data Management Collaboration Server - Collaborative Edition parameters for the clustered members
  • Configuring InfoSphere Master Data Management Collaboration Server - Collaborative Edition parameters for the clustered members
  • Configuring IBM HTTP Server
  • Enabling SSL for the cluster
  • Enabling sticky sessions
Note: The examples in this topic majorly use Linux® commands and show results on a Linux box. Differences might exist with the commands, output, or both if you are using AIX®, or even other types of Linux.

Setting up horizontal cluster on the two boxes running Admin UI with Persona-based UI over the IBM HTTP Server

Prerequisites

  • IBM WebSphere Application Server 9 Network Deployment on each box. Run the following command to confirm the installed version:
    WASinstall_directory}/bin/versionInfo.sh
  • SDK 1.8 (depending on the version of IBM WebSphere Application Server used) is enabled on all profiles.
  • You have installed a database server. This topic assumes that the database server is IBM Db2® 10.5.
  • You must also create a database specifically for the InfoSphere Master Data Management Collaboration Server - Collaborative Edition. As a DB admin, run the following command:
    create_pimdb.sh
  • Install a database client on both cluster and the workstation.
  • Disable the firewalls. Run the following command to disable the firewall:

    Red Hat

    service firewalld stop

    CentOS

    systemctl stop firewalld
  • The database that is used must be cataloged on each member of the cluster. As a DB admin, run the following command on each box:
    catalog tcpip node ClustNod remote Hostname 50000
    catalog database pimdb at node ClustNod
    terminate
    Where,
    • ClustNod is an arbitrary name for the database node (8 characters or less).
    • The database port is 50000.
    • The database for the InfoSphere Master Data Management Collaboration Server - Collaborative Edition is pimdb.

Deploying the Admin UI and Persona-based UI in the clustered environment

Deploy the Admin UI with the Master Data Management REST application for Master Data Management Collaboration Server - Collaborative Edition and Persona-based UI on an application server and then convert application server into a cluster.

  1. Configuring WebSphere Application Server on Host01.
  2. Create Deployment Manager (Dmgr01Host01) and a federated application server profile (AppSrv01Host01).
  3. Mount directories over the Network File System (NFS) to share installation directories.
  4. Configure IBM Installation Manager for the Admin UI installation.
  5. Install the Admin UI on the AppSrv01Host01 using the Installation Manager or through the installation scripts.
  6. Install the Master Data Management REST application for Master Data Management Collaboration Server - Collaborative Edition and Persona-based UI WAR files on the AppSrv01Host01 using the installation scripts.
  7. Configure the WebSphere Application Server on Host02.
  8. Create the application server profile (AppSrv02Host02) on the Host02 while you are federating the profile to the Dmgr01Host01.
  9. Propagate the Admin UI and Persona-based UI installation to the horizontal cluster topology.
  10. Configure the JVM Parameters and Admin UI parameters for the clustered members.
  11. Add aliases to virtual host (MDMCE_VHOST01_HOST01).
  12. Install a single HTTP server and configure the server to work as a front end to the cluster.
    Note: You can perform all the tasks as a root user, at least initially. File access and ownership can be changed later, if wanted.

Create Deployment Manager and a federated application server profile

To create the profile, proceed as follows:
  1. Open Profile Management Tool (PMT).
  2. Open the WebSphere Customization Toolbox by using the following command in the command prompt or from the menu you are accessing the server with the VNC client UI:
    {Websphere Deployment Directory}/bin/ProfileManagement/eclipse/pmt.sh
  3. In the WebSphere Customization Toolbox window, browse to the Profile Management Tool > Create.
  4. In the Environment Selection window, select Cell (deployment manager and a federated application server), and then click Next.
  5. In the Profile Creation Options window, select Advanced profile creation, and then click Next.
  6. In the Optional Application Deployment window, select Deploy the administrative console, and then click Next.
  7. In the Optional Application Deployment window, enter the names and home directories for the profiles to be created, for example:
    • Deployment manager profile - Dmgr01Host01
    • Application server profile - AppSrv01Host01
    • Profile directory - /opt/IBM/WebSphere/AppServer
  8. In the Node, Host, and Cell Names window, enter the following values:
    • Deployment manager node name - CellManager01Host01
    • Application server node name - Node01Host01
    • Host name - Hostname1
    • Cell name - Cell01Host01
  9. In the Administrative Security window, enable administrative security by providing a user name and a password. Use defaults in the next steps, review details in the Profile Creation Summary window, and click Create.
  10. After a successful profile creation, click Finish on the Profile Creation Complete window, and clear the Launch the first steps console check box. The WebSphere Customization Toolbox window shows profiles that are created.
  11. From the command prompt, use the following commands to start Dmgr01Host01 manager and AppSrv01Host01 node agent:
    /opt/IBM/WebSphere/AppServer/profiles/Dmgr01Host01/bin/startManager.sh/
    opt/IBM/WebSphere/AppServer/profiles/AppSrv01Host01/bin/startNode.sh
  12. Use the following command to confirm that the SDK 1.7, 1.7.1 or 1.8 is enabled on these profiles:
    /opt/IBM/WebSphere/AppServer/bin/managesdk.sh -listEnabledProfileAll
  13. Run the following command to enable the appropriate SDK on the profile if needed:
    /opt/IBM/WebSphere/AppServer/bin/managesdk.sh -enableProfile -profileName <profileName> -sdkname 8.0_64

Mount directories over the Network File System (NFS)

To set up Admin UI directory over the NFS:
  1. Create a directory for the Admin UI files.
    /opt/IBM/CEcluster
  2. Give the folder full access rights by using the following command:
    chmod -R 777 CEcluster
  3. Check whether the NFS services are running by using the following command:
    /sbin/service nfs status
  4. If NFS services are not running, start them using the following command:
    /sbin/service nfs start
  5. Specify which part of the file system is to be accessed, or shared, by the nodes. Edit or create the file /etc/exports to export directories and set options for access by remote systems through NFS. The format is
    <export dir> <host1>(<options>)<host2>(<options>)...
  6. To export the directory so that directory is available for mounting on the other servers, add the following line into the exports file:
    /opt/IBM/CEcluster *(rw,sync,no_root_squash)
  7. Export the directory by using the following command:
    /usr/sbin/exportfs -a
  8. Create the InfoSphere Master Data Management Collaboration Server - Collaborative Edition $TOP directory to deploy Admin UI.
  9. On Host02, create a directory by using the following command:
    mkdir -p /opt/IBM/CEcluster
  10. Give the folder full access rights by using the following command:
    chmod -R 777 CEcluster
  11. Mount the $TOP folder on host 02, log in to host 02 and use the following command to mount host 01 directories to host 02:
    mount hostname:/opt/IBM/CEcluster /opt/IBM/CEcluster
    Example: mount Hostname1:/opt/IBM/CEcluster /opt/IBM/CEcluster
    Important: Ensure that the directory path of the shared directory on each box is identical.
To set up Persona-based UI directory over the NFS:
  1. Create a directory for the Persona-based UI files.
    /opt/IBM/NEWUICluster
  2. Specify which part of the file system is to be accessed, or shared, by the nodes. Edit or create the file /etc/exports to export directories and set options for access by remote systems through NFS. The format is
    <export dir> <host1>(<options>)<host2>(<options>)...
  3. To export the directory so that directory is available for mounting on the other servers, add the following line into the exports file:
    /opt/IBM/NEWUICluster *(rw,sync,no_root_squash) 
  4. Export the directory by using the following command:
    /usr/sbin/exportfs -a
  5. Give the folder full access rights by using the following command:
    chmod -R 777 NEWUICluster
  6. On Host02, create a directory to mount the Persona-based UI setup files from the host01 by using the following command:
    mkdir -p /opt/IBM/NEWUICluster
  7. Mount the $TOP_MDMCEUI folder on host 02, log in to host 02 and use the following command to mount host 01 directories to host 02:
    mount hostname:/opt/IBM/NEWUICluster /opt/IBM/CEcluster
    Example: mount Hostname1:/opt/IBM/MDMCEHOME /opt/IBM/CEcluster
    Important: Ensure that the directory path of the shared directory on each box is identical.

Deploying the Admin UI on the AppSrv01Host01

Prerequisites
  • The server Host01 has the latest version of IBM's Installation Manager.
  • The database is cataloged on each workstation in the cluster.
  • The database is created for Admin UI and the DB admin started the database by using the following command:
    db2start
  • Firewalls are deactivated.
To deploy the Admin UI proceed as follows:
  1. Export the required environment variables by inserting the following lines in the ~/.bashrc, ~./bash_profile or ~/.profile depending on the default shell on both the Host1 and Host2.
    # User specific environment and startup programs
    
    source /home/db2inst1/sqllib/db2profile
    
    #--------------------------------------------#
    # PIM configuration #
    #--------------------------------------------#
    PATH=$PATH:$HOME/bin
    
    export TOP=/opt/IBM/CEcluster
    export PERL5LIB=$TOP/bin/perllib
    export JAVA_HOME=/opt/IBM/WebSphere/AppServer/java/8.0
    export COMPAT=$TOP/bin/compat.sh
    export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:.
    
    export MQ_INSTALL_DIR=/opt/mqm 
    
    export LANG=en_US
    export JAVAC=`perl $HOME/.config.pl --option=javac 2>/dev/null`
    
    export ANT_HOME=/opt/IBM/WebSphere/AppServer/deploytool/itp/plugins/org.eclipse.wst.command.env_1.0.409.v201004211805.jar
    export ANT_OPTS=-Xmx1024m
    export ANT_ARGS=-noclasspath
    export MAVEN_USERNAME="username@xx.ibm.com"
    export MAVEN_PASSWORD="xxxxxxxxx"
    
    export CLASSPATH=$CLASSPATH:/opt/mqm/java/lib/providerutil.jar;
    export CLASSPATH=$CLASSPATH:/opt/mqm/java/lib/ldap.jar;
    export CLASSPATH=$CLASSPATH:/opt/mqm/java/lib/jta.jar;
    export CLASSPATH=$CLASSPATH:/opt/mqm/java/lib/jndi.jar;
    export CLASSPATH=$CLASSPATH:/opt/mqm/java/lib/jms.jar;
    export CLASSPATH=$CLASSPATH:/opt/mqm/java/lib/connector.jar;
    export CLASSPATH=$CLASSPATH:/opt/mqm/java/lib/fscontext.jar;
    export CLASSPATH=$CLASSPATH:/opt/mqm/java/lib/com.ibm.mqjms.jar;
    export CLASSPATH=$CLASSPATH:/opt/mqm/java/lib/com.ibm.mq.jar;
    
    export PLUGIN_HOME=/opt/IBM/WebSphere/Plugins
    
    PATH=$PATH:$ANT_HOME/bin
    
    export WAS_HOME=/opt/IBM/WebSphere/AppServer
    Note: Ensure that the db2profile, JAVA_HOME, and TOP values are from your setup.
  2. Deploy the InfoSphere Master Data Management Collaboration Server - Collaborative Edition full release files under a directory:
    /opt/IBM/CECluster
    The $TOP is opt/IBM/CECluster.
  3. Run the installation steps for the InfoSphere Master Data Management Collaboration Server - Collaborative Edition.
  4. In the env_setting.ini file that is located in the /opt/IBM/CEcluster/bin/conf directory, check the following:
    • In the [db] section and update the following values according to the database setup.
      Parameter Value
      Database type DB2®
      Database host name Hostname1
      Database port 50000
      Database user name db2inst1
      Database password *****
      Local database name PIMDB
      Remote database name PIMDB
      Database home /home/db2inst1
      Database schema DB2INST1
    • Edit the [cache] section as follows:
      # multicast ip addr for MDMPIM cache.  Must be unique on the LAN
      multicast_addr=239.0.10.1
      # TTL for multicast packets.  Set to 0 for single-machine installations or 1 for clusters
      multicast_ttl=1
    • Edit the [appserver.websphere]section as follows:
      
      application_server_profile=AppSrv01Host01
      cell_name=Cell01Host01
      node_name=Node01Host01
      # set security to true if administrative security is enabled.
      admin_security=true
    • Edit the [appserver.appsvr]section as follows:
      port=7507
      appserver_name=MDMCE_APPSERVER01_HOST01
      vhost_name=MDMCE_VHOST01_HOST01
    • Check path to the common_properties and java_home properties.
  5. Run the following commands:
    $TOP/setup.sh –ov
    configure.sh –ov
    compat.sh
    cd bin/websphere
    create_appserver.sh
    create_vhost.sh
    install_war.sh
    start_local.sh
  6. Verify that the deployment was successful by logging in to the installed InfoSphere Master Data Management Collaboration Server - Collaborative Edition.
  7. Confirm all the services are running by using the following command:
    $TOP/bin/go/rmi_status.sh
  8. Stop the instance by using the following command:
    $TOP/bin/go/abort_local.sh

Deploying the Persona-based UIs on the AppSrv01Host01

Prerequisites
  • InfoSphere Master Data Management Collaboration Server - Collaborative Edition11.6 is installed.
To deploy the Persona-based UI proceed as follows:
  1. Copy the Persona-based UI TAR file to the /opt/IBM/NEWUI directory.
  2. Extract the installer by using the following command:
    tar –xvzf filename
    All files are extracted to the /opt/IBM/NEWUI/mdmceui directory. This directory is mounted to the /opt/IBM/NEWUICluster directory, so the files are shared across both the workstation.
  3. Update the .bash_profile file to add following environment variables:
    • TOP_MDMCEUI - Add /opt/IBM/NEWUICluster path as the value.
    • MDMCEUI_PERLLIB - Add /opt/IBM/NEWUICluster/bin/perllib path as the value.
  4. In the newui_env_settings.ini file that is located in the $TOP_MDMCEUI/conf directory, check the following:
    • In the cluster section, set the value of the enable property to yes.
    • Update the [rest-app-war]section as follows:
      hostname - Add the IP address or the complete host name of the Master Data Management REST application as the value.
      [appserver.websphere]
      application_server_profile=AppSrv01Host01
      cell_name=Cell01Host01
      node_name=Node01Host01
      # set security to true if administrative security is enabled.
      admin_security=true
  5. Browse to the bin folder and run ./installAll.sh file. This script installs Persona-based UI and restarts the server.
  6. In the InfoSphere Master Data Management Collaboration Server - Collaborative Edition, import the following data models:
    $TOP_MDMCEUI/env-export/dammodel/dammodel.ZIP
    $TOP_MDMCEUI/env-export/mdmenv/mdmce-env.ZIP
  7. Stop the Master Data Management Collaboration Server - Collaborative Edition by using the following command:
    $TOP/bin/go/stop_local.sh
    Application URLs:
    • Admin UI - http://<hostname>:<port>/utils/enterLogin.jsp
    • Persona-based UI - http://<hostname>:<port>/mdm_ce_ui

Configure the WebSphere Application Server on Host02

To create the profile, proceed as follows:
  1. Open Profile Management Tool (PMT).
  2. Open the WebSphere Customization Toolbox by using the following command in the command prompt or from the menu you are accessing the server with the VNC client UI:
    {Websphere Deployment Directory}/bin/ProfileManagement/eclipse64/pmt.sh
  3. In the WebSphere Customization Toolbox window, browse to the Profile Management Tool > Create.
  4. In the Environment Selection window, select Custom profile, and then click Next.
  5. In the Profile Creation Options window, select Advanced profile creation, and then click Next.
  6. In the Profile Name and Location window, enter the following values:
    Field Value
    Profile name AppSrv02Host02
    Profile directory /opt/IBM/WebSphere/AppServer/profiles/AppSrv02Host02
  7. In the Node and Host window, enter the following values:
    • Node name - Node02Host02
    • Host name - Hostname2
  8. Specify the details of the existing Deployment manager for federation, enter the following values:
    Field Value
    Deployment manager host name Hostname2
    Deployment manager SOAP port 8879
    Username configadmin
    Password ******
  9. Clear the Federate this node later and click Next.
  10. Use defaults in the next few windows, and review details in the Profile Creation Summary window, and click Create.
  11. Start the AppSrv02Host02 node agent by using the following command:
    /opt/IBM/WebSphere/AppServer/profiles/AppSrv02Host02/bin/startNode.sh

Creating a cluster of Horizontal topology

To span the existing InfoSphere Master Data Management Collaboration Server - Collaborative Edition application with the Persona-based UI in to a WebSphere cluster, proceed as follows:
  1. Log in to the WebSphere Application Server Integrated Solutions Console (admin console) on Host01. The admin console is for Dmgr01Host01 (manager profile).
    • URL - https://<hostname>:<port>/ibm/console/logon.jsp
    • Credentials - configadmin/passw0rd
  2. Browse to System Administration > Console Preferences, select Synchronize changes with Nodes, and then click Save.
  3. Browse to Servers > Clusters > WebSphere application server clusters, and click New.
  4. In the Create a New Cluster page, specify the cluster name as MDMCEClusterHost01.
  5. Clear Configure HTTP session memory-to-memory replication and click Next.
  6. In the Create First Cluster Member page, enter the following:
    Field Value
    Member name MDMCE_APPSERVER01_HOST01
    Select node Node01Host01(ND 9.0.0.0)
    Weight 2
  7. Select the following check boxes, and click Next:
    • Select how the server resources are promoted in the cluster.
    • Create the member by converting an existing application server.
  8. Review the information, on the Summary page, and click Finish.
To review the cluster that is created, click Servers > Clusters > Cluster Topology, and expand the MDMCEClusterHost01. Click Servers > Clusters > WebSphere application server clusters to see the new cluster on the right pane.
Important: You can obtain the HTTP ports of the cluster MDMCEClusterHost01 members (MDMCE_APPSERVER01_HOST01 and MDMCE_APPSERVER02_HOST02 application servers) by browsing to the Servers > WebSphere application servers > {MDMCE_APPSERVER_HOST} > Ports, and then search for the port.

Configuring JVM parameters and InfoSphere Master Data Management Collaboration Server - Collaborative Edition parameters for the clustered members

Proceed as follows:
  1. Browse to Servers > WebSphere Application servers > MDMCE_APPSERVER02_HOST02 > Server Types.
  2. Under the Server Infrastructure, browse to Java and Process Management > Process definition > Java Virtual Machine, and update the host name (Hostname2):
    -Dsvc_name=appsvr_Hostname2 -DTOP=/opt/IBM/CEcluster -DCCD_ETC_DIR=/opt/IBM/CEcluster/etc -Dsvc_etc_dir=/opt/IBM/CEcluster/etc/default -Dtrigo.memflags=-Xmx1024m_-Xms256m -Djava.security.policy=/opt/IBM/CEcluster/etc/default/java.policy -Dexit_if_config_file_not_found=false -DenableJava2Security=true  -Dsysout.dir=/opt/IBM/CEcluster/logs/appsvr_Hostname2
Note: You do not need to do these steps for the MDMCE_APPSERVER01_HOST01 as the generic JVM arguments are correctly configured for hostname1.

Configuring InfoSphere Master Data Management Collaboration Server - Collaborative Edition parameters for the clustered members

You need to add the following host names so that InfoSphere Master Data Management Collaboration Server - Collaborative Edition services are aware of the cluster and nodes:
  • Edit the admin_properties.xml file that is at the $TOP/etc/default/ folder to add the two host names, as follows:
    <admin> 
        <cluster> 
           	<host name="Hostname1"/> 
           	<host name="Hostname2"/>
        </cluster>
    </admin>
The two nodes are sharing the configuration files. The service list needs to be different at both the nodes, so you need to provide two different configuration files for both the nodes. Proceed as follows:
  1. Create a folder that is named cluster under the $TOP directory.
  2. Create folders mdmapp1 and mdmapp2 in the cluster folder.
  3. Copy the content of $TOP/bin/conf to both mdmapp1 and mdmapp2 by using the following command:
    cp -R $TOP/bin/conf $TOP/cluster mdmapp1
    cp -R $TOP/bin/conf $TOP/cluster mdmapp2
  4. Create a folder that is named mdmceui under the $TOP/cluster/mdmapp1 directory and under $TOP/cluster/mdmapp2directory.
  5. Copy $TOP_MDMCEUI/conf/newui_env_settings.ini and $TOP_MDMCEUI/dashboards/tnpmoed/conf/dashboard_config.ini files in the mdmceui folder by using the following command:
    
    cp -R $TOP_MDMCEUI/dashboards/tnpmoed/conf/dashboards_config.ini $TOP/cluster/mdmapp1/mdmceui
    cp -R $TOP_MDMCEUI/conf/newui_env_settings.ini $TOP/cluster/mdmapp1/mdmceui
    cp -R $TOP_MDMCEUI/dashboards/tnpmoed/conf/dashboards_config.ini $TOP/cluster/mdmapp2/mdmceui
    cp -R $TOP_MDMCEUI/conf/newui_env_settings.ini $TOP/cluster/mdmapp2/mdmceui
  6. On Host01, add this line to the .bashrc file:
    export CCD_CONFIG_DIR=/opt/IBM/MDMCE/cluster/mdmapp1
  7. On Host02 add this line to the .bashrc file:
    export CCD_CONFIG_DIR=/opt/IBM/MDMCE/cluster/mdmapp2
  8. Enter bash on both the Host01 and Host02. Each host then has own configuration files.
  9. On Host02, add the following to the env_settings.ini file at the $CCD_CONFIG_DIR/ folder to configure the scheduler:
    • Edit the [appserver.websphere] section as follows:
      application_server_profile=AppSrv01Host01
      admin_security=true
      application_server_profile=AppSrv02Host02
      cell_name=Cell01Host01
      node_name=Node02Host02
    • Edit the [services] section as follows:
      admin=admin
      eventprocessor=eventprocessor
      queuemanager=queuemanager
      scheduler=scheduler
      workflowengine=workflowengine
      appsvr=appsvr
  10. Add the following to the newui_env_settings.ini file at the $TOP/cluster/mdmapp2/mdmceui folder to configure the hostname:
    • Edit the [rest-app-war] section by adding Hostname and IP Address of the Host02:
      hostname=<Hostname/IP Address of Host02>
  11. On Host01, add the following to the env_settings.ini file at the $CCD_CONFIG_DIR/ folder to remove the workflow service:
    • Edit the [services] section as follows:
      admin=admin
      eventprocessor=eventprocessor
      queuemanager=queuemanager
      scheduler=scheduler
      workflowengine=workflowengine
      appsvr=appsvr
  12. On both Host01 and Host02 run the following script:
    $TOP/setup.sh
  13. Rerun $TOP/bin/configureEnv.ini and then run the following script:
    $TOP/bin/compat.sh
  14. Add the host aliases to the virtual host. In the IBM WebSphere administrative console, browse to Environment > Virtual Hosts > MDMCE_VHOST01_HOST01 > Host Aliases, and add the HTTP ports of the two cluster members.
  15. On Host02, run the following script to create custom properties under Resource Environment Entries on the WAS for the Dashboards:
    $TOP_MDMCEUI/bin/updateClusterForDashboards.sh
Updating config.json files of the Persona-based UIs
  1. On Host01, add the following properties to the config.json file at the $TOP_MDMCEUI/dynamic/mdmceui/ folder:
    • baseUrl – Base URL of the REST services. Specifies the host name of the Host01 and the port number of the appserver running on Host01.
      "baseUrl":"http://Hostname1:7507/mdm_rest_api/api/v1/"
    • customScriptBaseUrl – URL for the custom scripts. Specifies the host name of the Host01 and the port number of the appserver running on Host01.
      "customScriptBaseUrl":"http://Hostname1:7507"
  2. On Host01, run the updateRtProperties.sh script at the /opt/IBM/NEWUICluster/bin/ folder.
  3. On Host02, add the following properties to the config.json file at the $TOP_MDMCEUI/dynamic/mdmceui/ folder:
    • baseUrl – Base URL of the REST services. Specifies the host name of the Host02 and the port number of the appserver running on Host02.
      ""baseUrl":"http://Hostname2:7509/mdm_rest_api/api/v1/"
    • customScriptBaseUrl – URL for the custom scripts. Specifies the host name of the Host02 and the port number of the appserver running on Host02.
      "customScriptBaseUrl":"http://Hostname2:7509"
  4. On Host02, run the updateRtProperties.sh script at the /opt/IBM/NEWUICluster/bin/ folder.
Starting the Appservers
  1. Browse to the $TOP/bin/go on Host01 and run the ./start_local.sh script.
  2. Browse to the $TOP/bin/go on Host02 and run the ./start_local.sh script.
    Note: The ./start_local.sh script starts the InfoSphere Master Data Management Collaboration Server - Collaborative Edition appserver with the Admin UI and Persona-based UI applications that are deployed on the same appserver.
  3. Check the services that are running on both the workstations by running the ./rmi_status.sh script.
    Important:
    • After the cluster is created, do not run the following scripts else that you would need to delete and re-create the cluster:
      • create_vhost.sh
      • create_appsvr.sh
      • install_war.sh
    • Since the Admin UI and Persona-based UI are deployed on the same Appserver, the application URL has port of the Admin UI , for example, "7507". Thus, in the newui_env_settings.ini file when the value of the cluster enable=yes, the was-server port is ignored.
    Note: You need to re-create cluster if you update the instance or apply any fix pack.

Configuring IBM HTTP Server

Proceed as follows:
  1. Start the IBM Installation Manager, configure WebSphere Application Server applicable to the IBM Installation Manager repository, and click Install.
  2. In the Install Packages window, select the IBM HTTP Server and Web Server Plug-in for IBM WebSphere Application Server, and click Next.
  3. Enter the IBM HTTP Server and web server plug-in destination directories, and click Next.
    • /opt/IBM/PIM/Websphere/HTTPServer
    • /opt/IBM/PIM/Websphere/Plugins
  4. Specify the IBM HTTP Server port number as 80 (default port) and click Next.
  5. Click Install on the final Install Packages window that lists all the packages.
  6. Click Finish after successful installation of IBM HTTP Server message.
Create a web server instance through WebSphere Application Server console
  1. Log in to the WebSphere Application Server Integrated Solutions Console.
  2. Browse to the Servers > Server Types > Web Servers, and click New to create a new web server.
  3. In the Select a node for the Web server and Select the Web Server Type page, specify the following, and then click Next.
    • select node - Node02Host02
    • Server name - IBMHTTPServer01
    • Type - IBM HTTP Server
  4. In the Select a Web Server Template page, select IHS, and click Next.
    Field Value
    Port 80
    Web server installation location /opt/IBM/PIM/Websphere/HTTPServer
    Plug-in installation location /opt/IBM/PIM/Websphere/Plugins
    Application mapping to the Web server All
  5. In the Confirm new Web Server page, and click Finish.
Configuring IHS for Application Server
The plug-in enables IBM HTTP Server (IHS) to communicate with the cluster. To use this plug-in, you must enable the HTTP Server with the details of the plug-in. The configuration changes are typically recorded in the httpd.conf file of IHS.
  • Add the following entries in the httpd.conf file at /opt/IBM/WebSphere/HTTPServer/conf/ folder.
    • LoadModule was_ap24_module - /opt/IBM/WebSphere/Plugins/bin/64bits/mod_was_ap24_http.so
    • WebSpherePluginConfig - /opt/IBM/WebSphere/Plugins/config/IBMHTTPServer01/plugin-cfg.xml
    • Virtual host -
      <VirtualHost *:80>
      ServerName http://Hostname1/
      ServerAlias Hostname1
      ServerAlias Hostname2
      ErrorLog logs/error_log
      CustomLog logs/access_log common
      </VirtualHost>
Map Modules to configured HTTP Server
  1. Browse to Application > Application Types > Websphere Enterprise Applications. You have the following applications installed:
    • ccd_MDMCE_APPSERVER01_HOST01
    • mdm-rest.war
    • mdm_ce_ui.war
  2. Select each application, and specify the IBM HTTP Server and the cluster entry, and Apply.
Add virtual host alias
  1. Click Environment > Virtual Hosts > MDMCE_VHOST01_HOST01 > Host Aliases > New, and port number 80.
  2. Select each application, and specify the IBM HTTP Server and the cluster entry, and Apply.
Generate plugin-cfg.xml file
  1. Click Servers > Server Types > Web Servers, select IBMHTTPServer01, and click Generate Plug-in.
  2. Copy contents from the following folder: /opt/IBM/WebSphere/AppServer/profiles/Dmgr01Host01/config/cells/Cell01Host01/nodes/Node02Host02/servers/IBMHTTPServer01 To /opt/IBM/WebSphere/Plugins/config/IBMHTTPServer01
    The plugin-cfg.xml file gets generated under /opt/IBM/PIM/Websphere/Plugins/config/IBMHTTPServer01.
  3. Copy the HTTP instance from the following folder from the Host02: /opt/IBM/WebSphere/AppServer/profiles/AppSrv02Host02/config/cells/Cell01Host01/nodes/Node02Host02/servers to the following folder in the Host01: /opt/IBM/WebSphere/Plugins/config/IBMHTTPServer01/
  4. Start the HTTP server by using the following commands:
    /opt/IBM/WebSphere/HTTPServer/bin/apachectl -k start -f 
    /opt/IBM/WebSphere/HTTPServer/conf/httpd.conf
Updating config.json files of the HTTP server
  1. On Host01, add the following properties to the config.json file at the $TOP_MDMCEUI/dynamic/mdmceui/ folder:
    • baseUrl – Base URL of the REST services. Specifies the host name of the IBM HTTP server and the port number of the appserver running on Host01.
      "baseUrl":"http://Hostname1:7507/mdm_rest_api/api/v1/"
    • customScriptBaseUrl – URL for the custom scripts. Specifies the host name of the IBM HTTP server and the port number of the appserver running on Host01.
      "customScriptBaseUrl":"http://Hostname1:7507"
  2. On Host01 and Host02, run the updateRtProperties.sh script at the /opt/IBM/NEWUICluster/bin/ folder.
  3. Run the $TOP/bin/go/start_local.sh on both workstations to start the services.

Enabling SSL for the cluster

  1. Browse to Servers > Server Types > WebSphere Application Server.
  2. In the Preferences, click MDMCE_APPSERVER01_HOST01.
  3. In the Container Settings, expand Web Container Settings, click the Web container transport chains and select WCInboundDefaultSecure.
  4. Check the Enable check box, then click Apply > Save.
  5. Repeat steps 3 and 4 for MDMCE_APPSERVER02_HOST02.
  6. Click Environment > Virtual Hosts > MDMCE_VHOST01_HOST01 > Host Aliases > New.
  7. Modify port to have the same value as displayed in step 4, and click Apply > Save.
  8. In the httpd.conf file, add the following entries in the /opt/IBM/WebSphere/HTTPServer/conf/.
    Note: Ensure that the path for KeyFile is correct.
    LoadModule ibm_ssl_module modules/mod_ibm_ssl.so
    Listen 443
    <VirtualHost *:443>
    SSLEnable
    SSLServerCert default
    ServerName Hostname1
    ServerAlias Hostname1
    ServerAlias Hostname2
    KeyFile /opt/IBM/WebSphere/Plugins/config/IBMHTTPServer_Sticky/plugin-key.kdb
    ErrorLog logs/error_log
    CustomLog logs/access_log common
    </VirtualHost>
    
  9. Stop Persona-based UI server.
  10. Modify the config.json.default configuration file at the $TOP_MDMCEUI /dynamic/mdmceui folder as follows:
    • baseUrl – Base URL of the REST services. Specifies the host name of the IBM HTTP server and the port number of the appserver running on Host01.
      "baseUrl": https://Hostname1/api/v1/
  11. Run the updateRtProperties.sh script at the $TOP_MDMCEUI/bin folder.
  12. Start Persona-based UI server.
  13. Repeat steps 9-12 for the HOST02.

Enabling sticky sessions

The sticky session feature enables the load balancer to bind a user's session to a specific instance. This ensures that all requests from the user during the session are sent to the same instance.

Proceed as follows to enable sticky sessions for the IBM HTTP Server:

  1. Browse to Servers > Server Types > WebSphere Application Server.
  2. In the Preferences, click MDMCE_APPSERVER01_HOST01.
  3. In the Container Settings, expand Session management, click the General properties and select Enable Cookies.
  4. Check the Use the context root check box, then click Apply > Save.
  5. Browse to Servers > Server Types > WebSphere Application Server.
  6. In the Preferences, click MDMCE_APPSERVER01_HOST01.
  7. In the Container Settings, expand Web Container Settings > Web Container > Custom properties > New.
  8. Add HttpSessionCloneId property with the following values:
    Field Value
    Name HttpSessionCloneId
    Value MDMCE_APPSERVER01_HOST01
    Description HttpSessionCloneId
  9. Repeat steps 2-8 for the MDMCE_APPSERVER02_HOST02.
  10. Browse to Servers > Server Types > Web Servers, select web server and click Generate Plug-in.
  11. Now restart the application and web servers to verify the application for the sticky session.