This documentation is for older WSO2 products. View documentation for the latest release.
Page Comparison - Clustering ESB (v.29 vs v.30) - Clustering Guide 4.2.0 - WSO2 Documentation

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

    • Enable clustering for this node: 
      <clustering class="org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent" enable="true">
    • Set the membership scheme to wka to enable the Well Known Address registration method (this node will send cluster initiation messages to WKA members that we will define later): 
      <parameter name="membershipScheme">wka</parameter>
    • Specify the name of the cluster this node will join: 
      <parameter name="domain">wso2.esb.domain</parameter>
    • Specify the host used to communicate cluster messages:
      <parameter name="localMemberHost">xxx.xxx.xxx.206</parameter>
    • Specify the port used to communicate cluster messages (if this node is on the same server as the ELB, manager node, or another worker node, be sure to set this to a unique value, such as 4000 and 4001 for worker nodes 1 and 3 and 4002 for worker node 2, which is on the same server as the ELB and manager node): 
      <parameter name="localMemberPort">4002</parameter>
      Note: This port number will not be affected by the port offset in carbon.xml. If this port number is already assigned to another server, the clustering framework will automatically increment this port number. However, if two servers are running on the same machine, you must ensure that a unique port is set for each server.
    • The receiver's http/https port values are without the portOffset addition; they get auto-incremented by portOffset. The 'WSDLEPRPrefix' parameter should point to the worker node's host name (esb.cloud-test.wso2.com) and ELB's http (8280)/https (8243) transport ports.

    • Add a new property "subDomain" and set it to "worker" to denote that this node belongs to worker subdomain of the cluster as defined in loadbalancer.conf.

      Code Block
      languagehtml/xml
      <parameter name="properties">
                  <property name="subDomain" value="worker"/>
      </parameter>
    • Define the ELB and manager nodes as well-known members of the cluster by providing their host name and localMemberPort values. The manager node is defined here because it is required for the Deployment Synchronizer to function.

      Code Block
      languagehtml/xml
      <members>
          <member>
              <hostName>xxx.xxx.xxx.206</hostName>
              <port>4500</port>
          </member>
          <member>
              <hostName>xxx.xxx.xxx.206</hostName>
              <port>4001</port>
          </member>
      </members>
      Info

      The member in port 4500 is the ELB, and port 4001 is the manager node. 4500 is the value of the group_mgt_port we specify in the loadbalancer.conf file of the ELB and 4001 is the localMemberPort specified in the manager node configurations.

...

Configuring the port offset and host name

Because we are running two Carbon-based products on the same server, we must change the port offset to avoid port conflicts.

  1. Open <ESB_WORKER_HOME>/repository/conf/carbon.xml on each worker node.
  2. Locate the <HOSTNAME> tag and add the cluster host name: 
    <HostName>esb.wso2.com</HostName>
  3. Locate the <Ports> tag and change the value of its sub-tag as follows on each worker node:

...