Creating clusters

A cluster is a set of application servers that you manage together as a way to balance workload.

Before you begin

Before you create a cluster:
  • Review the content of the Clusters and workload management topic, especially the information about setting cluster weights.
  • Decide if you want enterprise bean requests routed to the node on which the client resides.
  • Decide if you want to use HTTP memory-to-memory replication.
  • Determine the appropriate configuration settings for the first cluster member. A copy of the first cluster member that you create is stored as part of the cluster data and becomes the template for all additional cluster members that you create.
  • Decide on which node you want the first cluster member to reside.

About this task

You might want to create a cluster if you need to:
  • Balance your client requests across multiple application servers.
  • Provide a highly available environment for your applications.

A cluster enables you to manage a group of application servers as a single unit, and distribute client requests among the application servers that are members of the cluster.

[z/OS]If you plan to create a cluster of servers that spans multiple systems in a sysplex and has stateful session beans with an activation policy of Transaction deployed in them, the passivation directory should reside on an HFS (hierarchical file system) that is shared across the multiple systems in the sysplex on which the clustered servers are running.

To create a cluster:

Procedure

  1. In the administrative console, click Servers > Clusters > WebSphere application server clusters > New.
    The Create a new cluster wizard starts.
  2. Specify a name for the cluster.
  3. Optional: [z/OS]Specify a short name for the cluster.

    For clustered servers, the WLM application environment is the default value for the cluster short name. If you specify a short name for a cluster, the name:

    • Must be one to eight characters in length.
    • Must contain only alpha-numeric or national language characters.
    • Cannot start with a number.
    • Must be unique in the cell.
    • Cannot be the same as the value specified on the ClusterTransitionName custom property of any non-clustered server. Do not specify a cluster transition name for a server that is part of a cluster.
    Avoid trouble: If you specify a short name, make sure that you set up a RACF® SERVER class profile that includes this short name.
  4. Select Prefer local if you want to enable host-scoped routing optimization.
    This option is enabled by default. When this option is enabled, if possible, EJB requests are routed to the client host. This option improves performance because client requests are sent to local enterprise beans.
    Supported configurations: If you enable the preferLocal optimization, the deployment manager must be running to affect the configuration. If the deployment manager is shut down, preferLocal optimization is not performed and requests might be dispersed across all the members of the cluster.
  5. Select Configure HTTP session memory-to-memory replication if you want a memory-to-memory replication domain created for this cluster.
    The replication domain is given the same name as the cluster and is configured with the default settings for a replication domain. When the default settings are in effect, a single replica is created for each piece of data and encryption is disabled. Also, the web container for each cluster member is configured for memory-to-memory replication.
    If the WAS cluster has session Memory to Memory replication enabled, then the plug-in configuration file for that server cluster must have the GetDWLMTable property set to true.
    Remember: Set the GetDWLMTable property using the check box on the administrative console rather than using the custom property.

    To change these settings for the replication domain, click Environment > Replication domains > replication_domain_name. To modify the web container settings, click Servers > Clusters > WebSphere application server clusters > cluster_name > Clusters members > cluster_member_name. Then, in the Container settings section, click Web container settings > Web container >Session management > Distributed environment settings in the administrative console. If you change these settings for one cluster member, you might also need to change them for the other members of this cluster.

  6. Click Next.
  7. Choose whether to create an empty cluster or to create the first member of the cluster.

    If you decide to create an empty cluster, to add members to this cluster, in the administrative console, click Servers > Clusters > WebSphere application server clusters > cluster_name > Clusters members > New.

    To create an empty cluster:

    1. Select None. Create an empty cluster.
    2. Click Next to display a summary of the defined cluster.
    3. Click Finish to create the cluster, or click Cancel if you decide not to create this cluster.

    When you create the first cluster member, remember that a copy of the first cluster member that you create is stored as part of the cluster data and becomes the template for all additional cluster members that you create.

    1. Specify the name of the first cluster member.
    2. Select the node on which you want this cluster member to reside.
    3. [z/OS]Specify a short name for this cluster member.
      The short name is the default z/OS® job name and identifies the cluster member to the native facilities of the operating system, such as Workload Manager (WLM), Automatic Restart Manager, and RACF.
    4. Specify the weight value for the cluster member.
      The weight value controls the amount of work that is directed to the application server. If the weight value for this server is greater than the weight values that are assigned to other servers in the cluster, then this server receives a larger share of the workload. The weight value represents a relative proportion of the workload that is assigned to a particular application server. The value can range from 0 to 20.
      [z/OS]On z/OS, weight is used to balance some of the workload types, but others are balanced by the z/OS system.
      • For HTTP requests, weights are used to distribute HTTP traffic between the web server plug-in and the controller handling the clustered application server. Assign a higher weight value to the application server that should receive the HTTP traffic.
      • For web services calls, information is transferred from a servant in one application server to a controller in another application server. The application server that receives the call has the highest weight value.
      • Weight has no affect on Internet Inter-ORB Protocol (IIOP) requests. IIOP requests are distributed to the correct application server using the sysplex distributor.
    5. Select Generate unique HTTP ports if you want to generate unique port numbers for every HTTP transport that is defined in the source server.
      When this option is selected, which is the default setting, this cluster member does not have HTTP transports or HTTP transport channels that conflict with any of the other servers that are defined on the same node. If you unselect this option, all of the cluster members will share the same HTTP ports.
    6. Select the core group to which you want this cluster member to belong.
      You are prompted for the core group only if you have more than one core group defined for this cluster.
    7. Select one of the following options to determine how the server resources are promoted in the cluster.
      • Cluster to move the resources of the first cluster member to the cluster level. The resources of the first cluster member replace the resources of the cluster.
      • Server to maintain the server resources at the new cluster member level. The cluster resources remain unchanged.
      • Both to copy the resources of the cluster member (server) to the cluster level. The resources of the first cluster member replace the resources of the cluster. The same resources exist at both the cluster and cluster member scopes.
    8. Select one of the following options as the basis for the first cluster member.
      • Create the member using an application server template.

        [z/OS]If you select the defaultZOS template, which is the only one that is listed unless you used the createServerTemplate command for the AdminTask object to create additional templates, the first cluster member uses the default port assignments for z/OS. If some of these ports are already defined for use elsewhere in your system, your newly created cluster member might not start, might function incorrectly, or might generate unexpected error messages. Therefore, you must resolve any port conflicts before you start this server.

      • Create the member using an existing application server as a template.
      • Create the member by converting an existing application server.
      Avoid trouble: You can only add an existing application server to the cluster if you select that server as the first cluster member. You cannot add other existing application servers to that cluster after you create the first cluster member. If you add an existing server to a cluster, the only way to remove that server from the cluster is to delete the server. Therefore, you might want to use the existing server as a template for the first cluster member instead of as the cluster member. If you keep the original application server out of the cluster, you can reuse that server as the template if you need to rebuild the configuration.
  8. Click Next.
  9. Create additional cluster members.
    Before you create additional cluster members, check the configuration settings of the first cluster member. These settings are displayed on the Create additional cluster members panel of the Create a new cluster wizard. For each additional member that you want to create:
    1. Specify a unique name for the member.
      The name must be unique within the node.
    2. Select the node to which you want to assign the cluster member.
    3. Specify the weight you want given to this member.
      The weight value controls the amount of work that is directed to the application server. If the weight value for the server is greater than the weight values that are assigned to other servers in the cluster, then the server receives a larger share of the workload. The value can range from 0 to 20.
    4. [z/OS]Specify a short name for this cluster member.
      The short name is the default z/OS job name and identifies the cluster member to the native facilities of the operating system, such as Workload Manager (WLM), Automatic Restart Manager, and RACF.
    5. Select Generate unique HTTP ports if you want to generate unique port numbers for every HTTP transport that is defined in the source server.
    6. Click Add member.
      You can edit the configuration settings of any of the newly created cluster members other than the first cluster member, or you can create additional cluster members. Click Previous to edit the properties of the first cluster member. The settings for the first cluster member become the settings for the cluster member template that is automatically created when you create the first cluster member.
  10. When you finish creating cluster members, click Next.
  11. View the summary of the cluster and then click Finish to create the cluster, click Previous to return to the previous wizard panel and change the cluster, or click Cancel to exit the wizard without creating the cluster.
  12. To further configure a cluster, click Servers > Clusters > WebSphere application server clusters, and then click the name of the cluster.
    Only the Configuration and Local Topology tabs appear until you save your changes.
  13. Click Review to review your cluster configuration settings.
    Repeat the previous step if you need to make additional configuration changes.
  14. If you do not want to make any additional configuration changes, select Synchronize changes with Nodes and then click Save.
    Your changes are saved and synchronized across all of your nodes.
    Avoid trouble: If you click Save, but do not select Synchronize changes with Nodes, when you restart the cluster, the product does not start the cluster servers because it cannot find them on the node. If you want to always synchronize your configuration changes across your nodes, you can select Synchronize changes with Nodes as one of your console preferences.
  15. Restart the cluster.

Results

You have created a cluster to which you can assign work requests. The Runtime and Local Topology tabs appear the next time you access this page.

What to do next

  • You can click Servers > Clusters > WebSphere application server clusters > cluster_name > Clusters members in the administrative console, and then click the name of a cluster member to view all of the configuration settings for this cluster member. You can then use this page to change some of the configuration settings for the selected cluster member.
    For example, if you do not need to have all of the cluster member components start during the cluster startup process, you might want to reconfigure the cluster members, such that the Start components as needed is selected. This option is not selected when a new cluster member is created. Selecting this option can improve cluster startup time, and reduce the memory footprint of the cluster members.
    Avoid trouble: Before selecting this option, verify that any other WebSphere® products, that you are running in conjunction with this product, support this functionality.
  • Use the administrative console to view or change the configuration settings for a cluster. For example, if you are running in a high availability environment, you can click Servers > Clusters > WebSphere application server clusters > cluster_name, and then select the Enable failover of transaction log recovery option for this cluster. This option allows the recovery of transactions to failover from one cluster member to another.
  • Create additional cluster members.

    If you create a cluster member by converting an existing application server that is a member of a bus, you must migrate the messaging engine in the server to the scope of a cluster. To do this, use the wsadmin command migrateServerMEtoCluster. Do not delete the messaging engine at server scope and recreate it a cluster scope, because those actions prevent the messaging engine from working with previously configured destinations.

  • Start the cluster.
  • Use scripting to automate the task of creating clusters.
  • Create a static routing table to temporarily handle IIOP routing for the cluster if your high availability infrastructure is disabled.