Introduction
The JS7 - Agent Cluster brings horizontal scalability and fail-over capabilities for Agents. A single Agent can execute thousands of jobs in parallel tasks, however, for a number of use cases it is preferable to distribute server load. This applies particularly to applications that require horizontal scaling across a number of server nodes instead of vertical scaling on a more powerful single server node. Also when a server node in the scheduling environment fails then jobs are executed with the Agents on the remaining server nodes.
- A number of Subagents operated for different servers share the job execution load in an Agent Cluster (active-active cluster).
- Automated fail-over guarantees high availability and restart capabilities of an Agent Cluster (active-passive cluster).
The JS7 offers a number of clustering options:
- An Agent Cluster can be operated with a Standalone JOC Cockpit and with a JS7 - JOC Cockpit Cluster.
- An Agent Cluster can be operated with a Standalone Controller and with a JS7 - Controller Cluster.
Operation of an Agent Cluster is subject to the JS7 - License and is available to commercial license holders.
In this article you find step-by-step instructions for setup of an Agent Cluster, for full explanations refer to the JS7 - Agent Management article.
Prerequisites
The following requirements have to be met before setting up an Agent Cluster:
- The JOC Cockpit should be up & running and accessible from your browser, see JS7 - Initial Operation for JOC Cockpit Cluster.
- The Controller should be up & running, see JS7 - Initial Operation for Controller Cluster
- A JS7 License Key is required for JOC Cockpit and for the Controller independently from the fact that the components are operated standalone or in a cluster, see JS7 - How to apply a JS7 License Key.
Set up Agent Cluster
- Login to the JOC Cockpit and navigate to the Manage Controllers/Agents view from the Administration button.
- The page displays existing Standalone Agents and Cluster Agents:
- To add a new Agent Cluster click the Controller's action menu and click the Add Agent Cluster menu item:
- A popup window will appear to add an Agent Cluster:
- Fill out mandatory input fields: Agent ID and Agent Name of the Agent Cluster.
- The Agent ID is a unique string that identifies the Agent Cluster and that cannot be changed later on.
- The Agent Name is a unique string that identifies the Agent Cluster and that can be changed later on.
- Add the Primary Director Agent with its Subagent ID and URL.
- The Primary Director Agent works as an interface between Controller and Subagents in a cluster.
- The Primary Director Agent manages the Agent Cluster and distributes orders to Subagents. Preferably it is not used for job execution.
- The Subagent ID is a unique string that identifies the Primary Director Agent and that cannot be changed later on.
- The URL specifies the protocol, host and port for which the Primary Director Agent is available.
- The Secondary Director Agent is used as a fallback should the Primary Director Agent not be available.
FEATURE AVAILABILITY STARTING FROM RELEASE 2.5.0
- Fill out mandatory input fields: Agent ID and Agent Name of the Agent Cluster.
- After submitting the Agent Cluster add a number of Subagents. Click the action menu of the recently created Agent Cluster and click the Add Subagent menu item:
- A popup window will appear. Add the Subagent ID and the URL.
- The Subagent ID is a unique string that identifies the Subagent and that cannot be changed later on.
- The URL specifies the protocol, host and port for which the Subagent is available.
- Repeat the above steps to add a number of more Subagents to the Agent Cluster.
- In this example two Subagents are added to the Agent Cluster.
- Once all Subagents are added then select the Agent Cluster action menu and click the Deploy menu item.