A node directory is a folder that contains log files, operational state, and application data stored in transactional memory. It is created when a node is installed and removed when a node is removed.
The logs and other information in a node directory can provide useful information when diagnosing error conditions. The support team might ask you to generate a snapshot of a node directory to send for analysis.
Note
The node directory is for transient information. Do not configure your fragments to store important, persistent data in a node directory,
Note
Node directories are sized according to the amount of memory you specify for the node to use by means of the memorysize= parameter to the epadmin install node command, or by a statement in a configuration file. The default memory size for nodes is 512 MB.
On Windows and Linux, node directories temporarily consume some fraction of the configured memory size. On macOS Sierra 10.12 and earlier, each node directory is roughly the same size on disk as the specified memory size for that node. This limitation is lifted in macOS High Sierra 10.13 and later.
StreamBase Studio keeps all node directories for its installed nodes in a normally
hidden folder named .nodes
at the root of your Studio
workspace. On exit, Studio stops and removes all nodes it successfully installed, and
therefore removes their node directories in .nodes
.
Node directory names in the .nodes
folder are the same
as the node name generated by Studio to
contain the fragment, including the clusterName
portion of the name.
If a Studio fails to install a node and exits with an error condition, the node
directory it started to create might be left over in the .nodes
folder. In this case, the next time Studio tries to install
a node to contain the same fragment, it might prompt you for permission to overwrite
the failed node directory. Unless you wish to preserve the failed node directory for
diagnostic purposes, it is always safe to respond with Yes to such prompts.
When installing a node with the epadmin command, use the nodedirectory= parameter to specify a relative or absolute path to a folder to contain that node's directory. That is, epadmin creates a node directory in the folder you specify, which node directory is named based on the nodename= parameter. For example:
epadmin install node nodename=A.sbuser nodedirectory=~/nodedirs application=...
This creates the node directory ~/nodedirs/A.sbuser
.
The tilde (~) notation shown in this example is valid for macOS and Linux. On
Windows, use the full path to your home directory, or use %HOMEDRIVE%%HOMEPATH%
.
On macOS and Linux, files and folders not recently accessed in /tmp
are automatically pruned, so /tmp
is not a good location for node directories you might need to
preserve. Use /tmp
if you are certain your fragments
are stable and you will not need to create snapshot
files from them.
If you do not specify a nodedirectory argument, epadmin uses its current directory as the container folder, and creates the node directory there.
A snapshot is a zip file containing logs and other operational state data from a node directory. Snapshots do not contain the entire node directory, but a useful subset of one. The support team might ask you to generate a snapshot of a failed node's directory for analysis.
Taking a snapshot of a running node has no impact on the node.
- In Studio
-
In Studio, create a snapshot file in the Clusters view:
-
Select the node of interest from the left panel.
-
Click the Snapshot button ().
-
Browse to the
.nodes
subfolder of your Studio workspace folder. -
Select the node directory whose name matches the nodename of the failed node.
-
Click
. Specify a destination location for the snapshot's zip file. -
Click
.
-
- Command Line
-
On the command line, use an epadmin command like the following:
epadmin create snapshot installpath=
/path/to/nodedir
destination=/path/to/dest/dir
If you do not specify the destination= parameter, it defaults to a folder named
snapshots
created parallel to the installpath= node directory.See
epadmin help snapshot
for additional options.Note
Sensitive data in configuration that is not encrypted will be exposed as plain text in the snapshot archive. This may include plain text passwords in configuration. All sensitive data in configuration should be encrypted. See Encrypting Sensitive Configuration Data for details.
# # Snapshot of a running node with a service name of A # epadmin --servicename=A create snapshot Created snapshot archive '/opt/RUN/./A/../snapshots/A/A.2019-04-10-09-42-33.zip' # # Snapshot of a down node installed into a directory named A # epadmin create snapshot --installpath=A Created snapshot archive '/opt/RUN/A/../snapshots/A/A.2019-04-10-09-43-26.zip'