Before we get into synchronization, let's talk about nodes and the master configuration. The master configuration is a collection of XML files that contain all sorts of information about a cell, such as the security settings and the applications in the cell. A node contains one or more WebSphere application servers. When a managed nodes is federated into the dmgr, the node needs to be synchronized with the master configuration so that the node is using the dmgr configuration.
Let's consider a common example. You make some change in the WebSphere admin console, and you are presented wit the Save option. Selecting save updates the master configuration.
This will cause the node to be out of sync with the master configuration.
To know if a node is synchronized, in the WebSphere admin console, select System administration > Nodes. In this example, AppSrv01Node01 is out of sync.
In this example, the node is synchronized.
Be aware that if the dmgr cannot communicate with the node, a question mark icon will be displayed. When there is a lack of communication between the dmgr and the node, synchronization is not possible. In this situation, you first will want to resolve the communication issue between the dmgr and the node.
Typically, there is no need to get involved and manually synchronize the node with the master configuration. By default, at System administration > Nodes > nodeagent > File synchronization service, Automatic synchronization is enable, so that the synchronization will happen automagically, once every 1 minute.
However, you most certainly can manually synchronize the node with the master configuration. I usually do this when other engineer's are waiting on me. To manually synchronize, at System administration > Nodes, check each node that is out of sync, and select Synchronize. Or, you can use the syncNode.sh (Linux) or syncNode.bat (Windows) commands (more on this in a moment). Or you can use the wsadmin command.
~]$ /opt/WebSphere/AppServer/profiles/dmgr_profile/bin/wsadmin.sh -lang jython -c "print AdminNodeManagement.syncActiveNodes()"
---------------------------------------------------------------
AdminNodeManagement: Synchronize the active nodes
Usage: AdminNodeManagement.syncActiveNodes()
Return: If the command is successfully invoked, a value of 1 is returned.
---------------------------------------------------------------
myNode01
1
Command Line
There are a number of similar scripts that can be used to start, stop and check the status of WebSphere servers.
- serverStatus
- startServer | stopServer (start / stop application server)
- startManager | stopManager (start / stop network deployment manager)
- startNode | stopNode | syncNode (this article)
Preferences
Notice that the message by default says that the synchronization can be enabled in preferences. Refer to our article on preferences to enable synchronization by default.
When synchronization is enabled in preferences, the message will then instead say that synchronization can be disabled in preferences which is how you know that it's enabled in preferences.
Logs
You usually don't need to look at the logs. The status in the dmgr will almost always suffice. However, if a node just won't sync, knowing what logs to check is very helfpul. When an attempt is made to sychronize, the following event will be in the dmgr SystemOut.log.
ADMN1006I: An attempt is made to synchronize the node_name node. (User ID = wasadmin)
The following events will be in the application server syncNode.log.
ADMU0401I: Begin syncNode operation for node node_name with Deployment Manager example.com: 8879
ADMU0016I: Synchronizing configuration between node and cell.
ADMS0003I: The configuration synchronization completed successfully.
Notice there are two types of synchronizations.
Checkpoints
Checkpoints can be created so that you can roll back to a prior version of the master repository if something goes awry.
Did you find this article helpful?
If so, consider buying me a coffee over at