Finding the adminport for a Node

Important

Most epadmin commands accept any global parameter, but certain parameters are required. That is, most commands require you to identify the node and/or cluster you want to address. You can provide this identity in two ways:

--servicename

Specify ‑‑servicename=nodename.clustername to identify a node, or ‑‑servicename=clustername to apply the epadmin command to all nodes in that cluster. You can shorten this parameter down to ‑‑servicen=.

--adminport (with --hostname if needed)

To address a node on the same machine, determine the node's administration port, and use ‑‑adminport=nnnnn. This can be shortened to ‑‑ad=nnnnn or even ‑‑a=nnnnn.

If the node of interest is on a remote machine, add the --hostname parameter to identify the remote host. For the --hostname parameter to work, add a TrustedHosts configuration file to the src/main/configurations folder of the node's Studio project and restart the node (or for an already running node, upload and activate the new configuration). This configuration file must include DNS name or addresses for the remote hosts you expect to connect from.

That is, to run a node on host Able, but connect to that node from Baker, you must configure Baker's network name or IP address in the configuration file for the module that is to run on host Able. Then restart the node on Able or upload and activate the new configuration. See Trusted Hosts for a detailed look at the Trusted Hosts feature and a sample configuration file. See Default Security Configuration to understand how a TrustedHosts configuration works with the security system's defaults.

This page describes how to determine the adminport for a running node.

StreamBase Studio Clusters View

In the Clusters view in Studio, select a node line (not an engine line), and look for the line named Administration Port in the Properties panel.

One advantage of using the Clusters view is that you can right-click the Administration Port line, and select Copy Value from the context menu. You can then paste the adminport value into subsequent epadmin commands.

epadmin display services

Run epadmin display services and look for lines beginning with Network Address = dtm-adm. On Mac or Linux, you can use this command:

epadmin display services | grep -B 2 dtm-adm

On Windows 10:

epadmin display services | findstr dtm-adm

These commands let you determine the adminport for local and remote nodes on the same subnet. Pay attention to the hostname in the resulting lines: on a busy subnet with many nodes running, there can be several similarly named nodes running on different hosts.

epadmin display node

Run one of these commands:

epadmin --servicename=nodename.clustername display node | grep Administration
epadmin --servicename=clustername getadminport node | grep Administration

This command generally works on both local and remote hosts in the specified cluster.

Tip

If you get a Failed to open a connection error message when trying to get information from a remote node, but you can ping that remote machine, you might have success by temporarily adding the remote node's IP address and name to the local machine's hosts file. Once you have the remote node's adminport, you can remove the hosts file entry and run epadmin commands in the following form, using the form of the remote host's name that successfully pinged:

epadmin --ad=adminport --hostname=host command target [--command-params]
epadmin getadminport node

Run a command like one of the following:

epadmin --servicename=M.sbuser getadminport node   // admin port for the named node
epadmin --servicename=sbuser getadminport node     // admin ports for all nodes in cluster
epadmin getadminport node --installpath=/opt/tibco/Nodedirs/M       // On localhost, Mac
epadmin getadminport node --installpath=C:\Users\sbuser\Nodedirs\M  // On localhost, Windows
epadmin --hostname=srv.acme.com getadminport node --installpath=/opt/tibco/Nodedirs/M
    // On remote host, with SSH keys configured locally and remotely

When using the --hostname parameter to connect to a remote machine, this command requires an SSH connection. Some remote machines have SSH configured to accept password authentication; if your remote machine is not, then you must have SSH public and private keys established on both local and remote machines. See Secure Shell on the epadmin reference page.