How to run a TIBCO Streaming cluster without UDP enabled

How to run a TIBCO Streaming cluster without UDP enabled

book

Article ID: KB0079981

calendar_today

Updated On:

Products Versions
TIBCO Streaming 10

Description

When UDP ports are blocked for network communication, the default TIBCO StreamBase® Runtime Platform node discovery does not work.

What is the alternative configuration to use when UDP is unavailable?

Issue/Introduction

Configuration guidance

Resolution

As a proxy for the default discovery services, the Node configuration may include a "proxyDiscovery" setting which identifies the other nodes in the cluster by nodename. Also for administration since UDP discovery will not work for the 'epadmin' command, the Node configuration must also specify an "administration.transportPort" and "administration.address" and the address must be used on the command line as so:
   epadmin --servicename=A.X --adminport=8080 {command} {target}
All "address" settings must be IPV4 IP addresses or host-names which will resolve using the available DNS service.

File node.conf (example):
name = "NodeDeployment"
version = "1.0"
type = "com.tibco.ep.dtm.configuration.node"
configuration = {
  NodeDeploy = {
    nodes = {
      "A.cluster1" = {
        nodeType = "App.Biz"
        availabilityZoneMemberships = {
          ZoneA = {
            staticPartitionBindings = {
              Par1 = {
                type = ACTIVE
              }
            }
          }
        }	
        communication = {
          administration = {  
            transportPort = 8080 
            address = "127.0.0.1"  
          }  
          proxyDiscovery = {  
            remoteNodes = ["B.cluster1"]  
          }  
          distributionListenerInterfaces = [  
            {  
              dataTransportPort = 9000  
              address = "sbsystem001.example.com"  
            }  
          ]  
        }  				
      }

      "B.cluster1" = {
        nodeType = "App.Biz"
        availabilityZoneMemberships = {
          ZoneA = {
            staticPartitionBindings = {
              Par1 = {
                type = REPLICA
              }
            }
          }
        }	
        communication = {
          administration = {  
            transportPort = 8081  
            address = "127.0.0.1"  
          }
          proxyDiscovery = {  
            remoteNodes = ["A.cluster1"]  
          }
          distributionListenerInterfaces = [  
            {  
              dataTransportPort = 9021 
              address = "sbsystem002.example.com"  
            }  
          ]  
        }  				
      }
    }
  }
}
Replace the localhost IP address (127.0.0.1) with the correct IP address for the node, replace the nodename.clustername, the distributionListenerInterfaces hostname, and ports as needed. Add additional node configurations and add those (comma separated) to the remoteNodes lists.
 

Additional Information

See Product Documentation topic: TIBCO StreamBase Documentation > Configuration Guide > Runtime Configuration Types > Runtime Node Configuration