Managing Replicators with SQDAEMON |
Scroll |
Precisely recommends using a local Engine Controller Daemon for managing the execution of Replicator Engines. The local SQDAEMON, described in detail in the the SQDAEMON Utility Reference, provides enables a number of features including:
•The ability to display the SQDAEMON's inventory, the list of all agents managed by the local daemon and their current operating state.
•The ability to Start and Stop the Replicator
•The ability to Display the detailed status of the Replicator including source and target datastore record counts.
•The ability to launch other types of agents including shell and other scripts or even SQDUTIL operations that can perform any desired function such as initiating a Target table refresh.
•The ability to perform all of these activities remotely and securely.
•The local SQDAEMON performs the same NaCL Key validation procedure as the remote daemon does for Replicator connection requests.
Syntax
The following syntax is used for invoking the Replicator Engine on Linux using a local Controller Daemon:
sqdmon start <agent_name> [-s port_num | --service=port_num ] [--identity=<path_to/nacl_id>]
The syntax for the corresponding agent in the sqdaemon sqdagents.cfg file might look like this:
[<agent_name>]
type=engine
program=sqdrpl
args=<./relative_path_to>/<name>.rpl
working_directory=<<%PREFIX%>_VAR_DIR>/<%PREFIX_LLC%>
stderr_file=<<%PREFIX%>_VAR_DIR>/<%PREFIX_LLC%>/<name>.rpt
stdout_file=<<%PREFIX%>_VAR_DIR>/<%PREFIX_LLC%>/<name>.rpt
auto_start=no
Keyword and Parameter Descriptions
url Typically //<host_name>/<agent_name> as defined in the sqdagents.cfg file of the sqdaemon on that host system. Host name may be an TCP/IP address and No host_name is required for "Localhost"
<agent_name> - Agent name specified in sqdagents.cfg file. Typically the <replicator>.rpl file name without the extension or the name specified as the subscribing Engine in the source Capture/Publisher configuration (CAB) file.
<name> - name of the replicator script file without the extension or the name specified as the subscribing Engine in the source Capture/Publisher configuration (CAB) file.
-s port_num | --service=port_num A port number is required for both "Localhost" and remote sqdaemons unless they are listening on the Connect CDC SQData default port number 2626.
--identity=<path_to/nacl_id> The location of the user's private key. Only required if it is not in the default location, the .nacl directory under the user's home directory.
Notes:
1.The most important thing to remember when managing agents through a local SQDAEMON is that the Connect CDC SQData Version, build and Release or Diagnostic code that were in use when the SQDAEMON was launched will be used to launch any Engines or other agents Started using the daemon. Switching from Release to Diagnostic code or Version/Build will therefore require the SQDAEMON process itself to be recycled.
2.Modifications to the SQDAEMON's own configuration files, sqdagents.cfg, acl.cfg and it's nacl_auth_keys files also require the SQDAEMON to be Reloaded but not completely recycled using the SQDMON reload command.
Example
A Replicator Engine used to stream Db2z CDC data to Kafka.
Define the Replicator Agent In the sqdagents.cfg file:
[DB2RKAFKA]
type=engine
program=sqdrpl
args=./ENGINE/DB2RKAFKA.rpl
working_directory=/home/nTEST
message=/home/nTEST/
stderr_file=/home/nTEST/DB2RKAFKA.rpt
stdout_file=/home/nTEST/DB2RKAFKA.rpt
auto_start=no
At the command line use the SQDMON utility to start the Replicator:
sqdmon start DB2RKAFKA