Skip to main content

skip to main content

developerWorks  >  WebSphere  >

Setting up high-availability clusters in WebSphere Enterprise Service Bus

developerWorks
Document options

Document options requiring JavaScript are not displayed


My developerWorks needs you!

Connect to your technical community


Rate this page

Help us improve this content


Level: Intermediate

Andrew J. Howes (andrew_howes@uk.ibm.com), Software Developer, WebSphere ESB System Verification Test Team, IBM

30 Dec 2008

This article shows you how to set up high-availability clusters in WebSphere Enterprise Service Bus (WebSphere ESB) V6.1 or later. It shows you how to use a Deployment Environment pattern to configure a high-availability environment, including how to prepare the machines and how to run the WebSphere ESB Deployment Environment Wizard.

Introduction

IBM® WebSphere® ESB V6.1 introduces a Deployment Environment wizard to help create high-availability clusters using predefined Deployment Environment Patterns. This article shows you how to use the wizard using an example with three machines. The proposed topology is known as the Gold Topology, and involves three separate clusters across two machines that provide high-availability for the applications, the messaging engine, and the supporting functions such as CEI. The third machine contains the cluster database. You can use this topology for larger numbers of machines and the setup remains pretty much the same.


Figure 1. Gold Topology
Gold Topology

Database setup

Assuming that DB2 has been installed on the system that will serve the cluster database, set up the database as follows:

  1. On the database server, start DB2: db2start.
  2. Start the Control Centre: on Windows, select Start => Programs => IBM DB2 => General Administration Tools => Control Centre.
  3. Create a database (no need to create any tables):
    • Right-click on All Databases => Create Database.
    • Select Standard, fill in the Database name and Alias as MYDEDB, and click Finish.

      Creating the database takes about two minutes. After creation is complete, you will see the message Do you want to run the Configuration Advisor? Click Yes.



    Figure 2. Create Database
    Create Database

  4. Configure connections:
    • In the Configuration advisor, Click 7. Connections.
    • Set average number of connected local applications to 40.
    • Set average number of connected remote applications to 40.
    • Click Finish.

Profile creation and federation

On each of the WebSphere ESB node machines, install WebSphere ESB but choose None when asked about creating profiles. On the controlling server, set up a deployment manager:

  1. As root or administrator, cd to ESB_INSTALL_PATH/bin/ProfileManagement.
  2. Run the pmt script: pmt.sh.
  3. Click Next on the introductory page.
  4. Select WebSphere ESB and click Next.
  5. Select Deployment manager profile and click Next.
  6. Select Advanced profile creation and click Next.
  7. Select Deploy the administrative console and click Next.
  8. Take the default profile name directory location and click Next:

    Figure 7.
    Profile Name

  9. Take the default Node, Host, and Cell names, and click Next:

    Figure 8.
    Node Name

  10. Click Enable administrative security and supply the administrative user name and password. Then click Next:

    Figure 9.
    Admin Security

  11. Take the default port values and click Next:

    Figure 10.
    Port Values

  12. If you are on a Linux machine, do not select Run as a Linux service. Click Next.
  13. Select DB2 Universal from the dropdown as the database product. Set the name of the cluster database, such as MYDEDB, and click Delay execution of database scripts. Then click Next:

    Figure 11.
    Database Product

  14. Set the database administrative username and password (to access the database server) and the path to DB2 libraries on the deployment manager host, such as ESB_INSTALL_PATH/universalDriver_wbi/lib. Select JDBC driver type 4 and provide the database server host name and port number. Then click Next:

    Figure 12.
    Database Server

  15. Review the Summary page and click Create.
  16. Once creation has completed successfully, start the Deployment manager: ESB_INSTALL_PATH/profiles/Dmgr01/bin/startManager.sh.

Set up a custom node on the same server and federate it with the deployment manager:

  1. Uncheck Launch the First steps. Click Create another profile and then click Finish.
  2. Click Next on the introductory page.
  3. Select WebSphere ESB and click Next.
  4. Select Custom profile and click Next.
  5. Select Advanced profile creation and click Next.
  6. Take the default profile name and profile directory location and click Next:

    Figure 16.
    Profile Name

  7. Take the default Node and Host names and click Next:

    Figure 17.
    Node Name

  8. Set deployment manager hostname and port, set the administrative username and password, and then click Next:

    Figure 18.
    Deployment Manager

  9. Take default port values and click Next:

    Figure 19.
    Port Values

  10. Set Database product to DB2 Universal and set the appropriate driver path to DB2 drivers, such as ESB_INSTALL_PATH/universalDriver_wbi/lib. Then click Next:

    Figure 20.
    Database Product

  11. Review the Summary page and click Create
  12. Uncheck Launch the First steps and click Finish.

Set up a custom node on the other server and federate it with the deployment manager, using the same steps as the custom profile creation described in the previous section:

  1. Log in as root or administrator
  2. If the system is on Linux or Unix, edit the /etc/hosts file to comment out 127.0.0.1 localhost and add the actual IP address with hostname XX.XX.XX.XX myhost .

    This prevents the following exception when federating the node: ADMU0027E: An error occurred during federation ADMU0036E: The Deployment Manager cannot lookup by name host myhost at address 127.0.0.1; rolling back to original configuration.

  3. cd to ESB_INSTALL_PATH/bin/ProfileManagement.
  4. Run the pmt script: pmt.sh.
  5. click Next on the introductory page.
  6. Select WebSphere ESB and click Next.
  7. Select Custom profile and click Next.
  8. Select Advanced profile creation and click Next.
  9. Take the default profile name and profile directory location and click Next.
  10. Take the default Node and Host names and click Next.
  11. Set deployment manager hostname and port and set the administrative username and password, click Next.
  12. Take default port values and click Next.
  13. Set database product to DB2 Universal and set appropriate driver path to DB2 drivers, such as ESB_INSTALL_PATH/universalDriver_wbi/lib. Click Next.
  14. Review the summary page and click Create.
  15. Uncheck the Launch the First steps console button and click Finish.
  16. Reset /etc/hosts to its original state.

Create the clusters

The Deployment Environment creation wizard helps you create clusters to provide certain patterns of high availability. This example uses the Remote Messaging and Remote Support pattern, which provides a cluster for application deployment, a separate cluster for messaging, and a third cluster for supporting functions.

  1. Log on to the Admin Console for the deployment manager server.
  2. Expand Servers and select Deployment Environments:

    Figure 21.
    Deployment Environments

  3. Click New.
  4. Ensure that Create a new deployment environment is selected. Provide a Deployment environment name such as MYDE and click Next:

    Figure 22.
    Deployment Environment Name

  5. Select Remote Messaging and Remote Support and click Next.
  6. On the Select Nodes page, the previously created nodes should be displayed. Select them both and click Next:

    Figure 24.
    Select Nodes

  7. On the Clusters page, ensure that for both Nodes 1 and 2, the Application Deployment Target, Messaging Infrastructure, and Supporting Infrastructure columns are all set to 1. Click Next:

    Figure 25.
    Select Clusters

  8. On the Database page, all of the correct details should be pre-defined. (Database Instance is the database previously created, Provider is DB2 Universal, Server is set to the database server hostname, User Name is set to the DB2 user name, and Create Tables boxes are checked). Click Next.

    Figure 26.
    Select Databases Select Databases

  9. On the Security page, the correct admin user name and password should be set. Click Next.
  10. Review the Summary. Click Finish and Generate Environment:

    Figure 28.
    Summary

  11. Click Save changes.
  12. Navigate to System administration and select Node agents.
  13. Select both node agents and click Restart:

    Figure 29.
    Restart

  14. Once the nodes have restarted (green arrows in status column), log out of the Admin Console.
  15. Restart the deployment manager:
    ESB_INSTALL_PATH /profiles/Dmgr01/bin/stopManager.sh
    ESB_INSTALL_PATH /profiles/Dmgr01/bin/startManager.sh
    

  16. Log back on to the Admin Console for the deployment manager server.
  17. Expand Servers and select Clusters.
  18. Select all three clusters and click Ripplestart. This may take several minutes:

    Figure 30.
    Clusters

Deploying applications

When deploying applications to the cluster, ensure that the server to which you are deploying is specified as the application cluster. For example:

  1. Navigate to Applications => Install New Application.
  2. Select an EAR file to deploy by browsing either a local or remote file system. Click Next.
  3. Take the default installation options and click Next.
  4. On the Map modules to servers page, ensure that the value in the Server column points to the application cluster, such as MYDE.AppTarget. If it does not, select the modules. Then from the Clusters and servers dropdown, select the application cluster, and click Apply.
  5. click Next:

    Figure 31.
    Target Server

  6. Review the Summary and click Finish.
  7. Click Save to save the deployment to the master configuration.
  8. Repeat for all required EAR files.


Resources



About the author

Andrew Howes is a Software Developer on the WebSphere ESB System Verification Test Team at the IBM Hursley Software Lab in the UK. You can contact Andrew at andrew_howes@uk.ibm.com.




Rate this page


Please take a moment to complete this form to help us better serve you.



 


 


Not
useful
Extremely
useful
 


Share this....

digg Digg this story del.icio.us del.icio.us Slashdot Slashdot it!



Back to top