There can occasionally be issues getting Spotfire nodes to function correctly.
Problems include nodes not appearing in "Untrusted Nodes", being greyed out, or node services not being able to run or throwing errors upon startup.
This article describes what actions can be taken before submitting a ticket to support.
Ports
The Spotfire cluster uses the following ports for node and server communication.
Node registration port (Default 9080)
This port is used for new nodes to submit a CSR (Certificate Signing Request to the Spotfire Server. Until trust has been established all communications use this unencrypted port. The port is required to be open on both server and node manager at all times.
Node communication port (Default 9443)
This port is used for communication between server and node manager. Once trust has been established communications are sent over this encrypted port. The port is required to be open on both server and node manager at all times.
Node data port (Default 9501, 9502 (for TERR))
Binary data related to the particular service (e.g. Web Player) is sent using this encrypted port.
1) Check the ports are listening and are attached to the correct processes
The following powershell snippet will check if the ports are open and the correct processes are listening on them. This checks what processes are listening on ports 9080 and 9443. The same command should be run on both server and node manager.
Foreach ($port in 9080,9443) {
Write-Host -ForegroundColor green "`nPort $port"
Try {
Get-Process -Id(Get-NetTCPConnection -Localport $port).OwningProcess -ErrorAction:SilentlyContinue
}
Catch {
Write-Host -ForegroundColor red "Nothing listening on port $port"
}
}
Sample output on a node manager:
Note the listening process is java
Sample output on a Spotfire server:
Note the listening process is tomcat9
2) Check that the ports can accept connections
The following PowerShell code can be run from both Spotfire server and Node Manager to ensure the correct connectivity is in place. Edit the first variable to be the hostname of your Spotfire server
$spotfire_server = "spotfire-server"
$NetConnectionVerbosity = 'Quiet'
$Global:ProgressPreference = 'SilentlyContinue'
Foreach ($port in 9080,9443,9501,9502) {
Write-Host -ForegroundColor green "`nChecking Port $port on $spotfire_server"
Try {
Test-NetConnection -ComputerName $spotfire_server -Port $port
}
Catch {
Write-Host -ForegroundColor red "Nothing listening on port $port"
}
}
For the node manager only port 9080 will be open until the node is trusted. Once the node is trusted port 9443 should additionally appear as open. And once a service has been installed and is running port 9501 and/or 9502 should be open.
3) Check hostname resolution
During the installation of a new node it's important when prompted for the supervisor address that the same address is given as appears in Nodes and Services for the Sotfire server.
Furthermore, the hostname should be able to be resolved in DNS. If DNS is not available then manual entries to the hosts file can work on a temporary basis. This should not be a permanent solution.
Use tools such as ping or nslookup to check if the hostname can be resolved.
Most issues can be solved by addressing the points in this article. Please contact the Revvity Signals support desk if you continue to experience problems.
Comments
0 comments
Please sign in to leave a comment.