Copyright © TIBCO Software Inc. All Rights Reserved


Chapter 3 CDD Configuration Procedures : Configuring a TIBCO BusinessEvents DataGrid Cluster

Configuring a TIBCO BusinessEvents DataGrid Cluster
When a cluster starts up, and also when new members join a cluster, a discovery process enables the members to discover each other. After the discovery is complete, the members communicate internally using a listen URL.
TIBCO BusinessEvents DataGrid configuration uses two properties to define the discovery URL value and the listen URL value:
be.engine.cluster.as.discover.url
be.engine.cluster.as.listen.url
PGM multicast is the default discovery method. If default values for multicast discovery are appropriate for your needs, and if you don’t have to specify a port in the listen URL, you don’t have to do any cluster configuration at all.
A TIBCO BusinessEvents DataGrid cluster is also known as a metaspace. A TIBCO BusinessEvents engine is a node in the metaspace.
The Discovery URL
The discovery URL specifies how cluster members (engines) find each other when they start.
You can use either multicast (PGM) or unicast (TCP) discovery. Unicast discovery is also known as well-known address discovery.
If No Other Cluster Members are Started
If a newly started node does not discover any running cluster nodes, the behavior is different depending on the type of discovery used:
If the address of the newly started node is not in the discovery URL’s list then it continues to wait for other well-known nodes to start, and a warning is written to the console while it waits.
Multicast Cluster Member Discovery
The discovery URL for multicast discovery uses PGM (Pragmatic General Multicast) protocol. The multicast discovery URL format is as follows:
tibpgm://destinationPort/network/
The default values equate to the following: //7888/;239.8.8.9/
Specify the parameters as follows.
Specifies the address of the interface to be used for sending multicast packets (by IP address, hostname, or by interface name), and the multicast group address to be used. The format is:
interface;multicast group address
Note  Ensure that the interface specified is the same one used for the listen URL interface. This is because, if there are multiple interfaces on one machine and you don’t provide the IP in the interface, TIBCO BusinessEvents could choose a different interface to the one specified in the listen URL.
Unicast (Well-Known Address) Cluster Member Discovery
If you cannot or do not wish to use multicast discovery in your environment, then configure unicast discovery, also known as "well-known address" or WKA discovery. Unicast discovery uses the TCP protocol.
With well-known address discovery, the discovery URL value is a semicolon-separated list of some possible cluster members’ listen URLs. These "well-known addresses" enable a newly started node to discover existing members.
One cluster node in the WKA list must be running at all times  At least one cluster node specified in the well-known address list must be running at all times, so that other new members can join the cluster (metaspace).
If all nodes specified in the well-known address list stop, then other nodes that are still running continue to function, but they print warnings to the console. In this case, no new members can connect to this cluster.
The discovery URL value for well-known address configuration uses the following format:
tcp://ip:port[;ip:port]*/
This discovery URL property (be.engine.cluster.as.discover.url) must be present and configured identically for all potential cluster members. To ensure this condition is met, add the property and its value at the cluster level of the CDD file.
For Deployment with TIBCO BusinessEvents Monitoring and Management
If you use well-known-address discovery, and you will also use TIBCO BusinessEvents Monitoring and Management (MM), you must also do the following:
1.
   be.mm.cluster.as.listen.url MMHostIP: Port
Specify the value as the IP of the computer hosting the MM server, and an unused port.
2.
Add the value of the be.mm.cluster.as.listen.url property to the list of addresses in the be.engine.cluster.as.discover.url property (which should be present and identical for all potential cluster members).
This configuration enables MM to start before any other engines. Otherwise, MM would print warnings (as explained in If No Other Cluster Members are Started.
For more information, read Chapter 6, Basic MM Configuration to understand more about deployment using MM. In particular, see Configuring for TIBCO BusinessEvents DataGrid WKA Discovery.
The Listen URL
The listen URL is used for direct communication between the members of the metaspace. The listen URL uses this format:
   tcp://interface/port[-EndPort |*]/
The cluster member binds to the specified interface and the specified port when creating the TCP socket. You can also use an auto-incrementing feature, as explained in Auto-incrementing Within a Range of Ports.
The default value for interface is 0.0.0.0 (INADDR_ANY).
The default value for port is a the first available port in the 50000+ range.
Provide an available port in the listen URL. For example:
tcp://interface:6000/
Multiple Nodes on One Machine
If multiple nodes (engines) are running on one machine, identify each uniquely. Use the same value for interface, but a different value for port for each node.
Auto-incrementing Within a Range of Ports
If a machine has blocked some ports in the default range, or if you want to use a different range, you can configure the listen URL to start with a specified IP address and port, and optionally provide an upper limit. If the specified port is not available, TIBCO BusinessEvents auto-increments the port until it finds an available port, up to the specified upper limit, if any. To specify a specific range use this format:
tcp://interface:Port-toPort/
For example, given the following listen URL, TIBCO BusinessEvents attempts to open port 8000 and if it is not available it tries the next port number, until it finds an available port, up to 9000 (inclusive). If none is available, it keeps retrying. Make some ports in the specified range available so that the cluster nodes can start.
tcp://interface:8000-9000/
To specify a range with the upper limit of unsigned short minus one, use this format:
tcp://interface:Port-*/

Copyright © TIBCO Software Inc. All Rights Reserved