...
This article describes the use of the JobScheduler Universal Agent Batch Installer for installing additional JobScheduler Universal Agents in an environment in which a number of the Agents have already been installed and where the new Agents are to be installed on a server which already has at least one Agent. The environment can be summarized as having the following characteristics:
- A JobScheduler Master is up and running.
- A number of JobScheduler Agents have already been installed on different Agent servers.
- At least one additional Agent is to be installed on a server which already has an Agent installed on it.
- The new Agent(s) will be operated with the same user and installation path as for the rest at least one of the Agents already installed on this an Agent server.
The new Agent will be identified by its listening port which will be unique for the server which the new Agent will be obviously a different one than the installed Agents on this serverAgent is being installed on.
Prerequisites
In case you an extra Agent installation has to be done, that would mean that other Agents have been installed (either using the Batch Installer or through other methods). In any case, to understand properly how this application works in case you had not use the Batch Installer for Agents before, you can find the relevant information for your corresponding environment in the articles described below - have a look at the chapters The following articles in this knowledge base describe the installation of an Agent or Agents using the Agent Batch Installer. These articles all cover fresh installation - i.e. the installation of a first Agent on a server - for a number of different environments. They are presented here as an introduction to the use of the batch installer. In particular, we recommend the "Batch Installer Application" and "Download" sections in each article:
- Batch Installer Use Case: Homogeneous environment: This article describes the use of the JobScheduler Universal Agent Batch Installer in a homogeneous environment. We define a homogeneous environment as one in which a number of JobScheduler Agents will be installed according to the same prerequisites:
- A JobScheduler Master is up and running.
- The Agent installations are to be performed on any number of servers that have the same operating system. One Agent is to be installed per server.
- The Agents will be operated with the same user, listening port and installation path.
- Batch Installer Use Case: Heterogeneous environments: This article describes the use of the JobScheduler Universal Agent Batch Installer in a heterogeneous environment. We define a heterogeneous environment as one in which a number of JobScheduler Agents will be installed according to different prerequisites:
- A JobScheduler Master is up and running.
- The Agent installations are to be performed on any number of servers that do not have to have the same operating system. One Agent is to be installed per server.
- The Agents will be operated with different users, listening ports and installation paths.
- Batch Installer Use Case: Multiple Instances: This article describes the use of the JobScheduler Universal Agent Batch Installer for installing multiple Agent instances in a heterogeneous environment. A multiple number of JobScheduler Agents will be installed on every Agent server and every installation will be based on different prerequisites:
- A JobScheduler Master is up and running.
- The Agent installations are to be performed on any number of servers that do not have to have the same operating system. More than one Agent is to be installed per server.
- In every Agent server, the Agents will be operated with different users and different listening ports.
- The Agents will be operated with different users (within the same Agent server) to make the example more multifaceted, although the same user can operate more than one Agent if the Agents run on different ports.
- The installation path will be the same for all Agent installations.
Configuration
XML
...
Files
Configuring complex XML files with a text editor is error-prone and often a tedious and error-prone procedure. To get around this, we recommend that you download the you use our XML Editor and use it to manage the configuration files required for the Batch Installer. The XML Editor automatically validates configuration files and therefore reduces the possibility of configuration errors. See the Using the XML Editor chapter below section below for more detailed information about using the XML Editor.
- After downloading the XML Editor, extract the contents of the zip file to a convenient folder (an installation routine is not required) and start the
sos.xml.editor.exe
program. - Open your
yade_agent_batch_installer_settings.xml
YADE configurationconfig/batch_installer
folder and assign the XSD schema - Open your
batch_installer_config_file.xml
configuration file in the XML Editor and assign thescheduler_universal_agent_installations.xsd
schema: both files are located in theconfig/batch_installer
folder. See the Batch Installer Configuration File chapter section below for instructions on how to configure the Batch Installer configuration file.
Info | ||
---|---|---|
| ||
|
...
AgentBatchInstaller
job: adjust the parameter values for theAgentBatchInstaller
job in your JobScheduler Master.Set the
installation_definition_file
job parameter to the path to the Batch Installer configuration file.- Set the
update
job parameter tofalse
. This value set to false is the one that will determine that the rest of the installations defined in the configuration for Batch Installer Configuration File are not going to be performedwill ensure that in the example described below the Batch Installer will not attempt to update existing Agent installations that have been installed using the Batch Installer - and whose configurations are included in the Batch Installer Configuration File.
Installation of the Agents
...
- Open a JobScheduler Operating Center (JOC) browser window for the JobScheduler master.
- Go on the "Jobs" Window and open the "
batch_installer_universal_agent
" folder. - Right click on the job to open the context menu.
- Select the
Start task immediately
operation.
Example: Installation of
...
an additional JobScheduler Universal Agent
The following example describes how to do the installation and configuration of one a JobScheduler Universal Agents in one of the Agent on an Agent Servers, where exactly in an environment with four JobScheduler Universal Agents had already been installed - two Agents on two different servers. The extra instance is added to the configuration already described in the Use Case above: Batch Installer Use Case: Multiple Instances. use case. ´The Batch Installer will ignore the configuration information for the agents that have already been installed as the update
job parameter for the AgentBatchInstaller
job has been set to false
as described in the JobScheduler Jobs section of this article above.
Anchor | ||||
---|---|---|---|---|
|
...
Note that the file shown above is an in the YADE XML file format and that YADE versions less that 1.11 and newer require a .ini
file to perform the transfer that is specified in the <globals><install_path><transfer><settings>
element in the Batch Installer configuration file.
...
Anchor | ||||
---|---|---|---|---|
|
We assume that you have opened You can download the Batch Installer configuration file file for the example here: batch_installer_config_file.xml _config_file.xml
. The contents of this file are listed in the code block later on in this section:
Open the Batch Installer configuration file in the XML Editor and assign and assigned the scheduler_universal_agent_installations.xsd
XSD schema. The XML file contains a basic example with recommended values for an Agent installation.
The Batch Installer configuration file contains an <installation>
element for each Agent instance. In addition, the <global>
element can be used in a homogeneous environment is used to specify parameters that will be applied to all Agent installations. If a parameter is specified in the <global>
element and in an individual <installation>
element then the setting for the individual element will overwrite the global settingthe individual element will overwrite the global setting.
The configuration file contains configurations for the four Agents whose installation was described in the Batch Installer Use Case: Multiple Instances article. The file also contains the configuration for the additional Agent that is to be installed in this example. The configuration for this Agent can easily be recognized by <installation lastRun="">
element tag.
The following configuration steps should would need to be carried out to add the configuration for the additional agent to this file:
- Leave the global parameters as they were set for your previous Use Case.
- Specify the installation parameters for the extra Agent installation:
- Set
lastRun
element attribute to an empty value (with for the<installations><installation>
element<installations><installation>
). This is the value that will make the Batch Installer just carry out this one extra additional installation and skip (i.e. not attempt to update) the rest. - Agent options:
<scheduler_user>
: the Agent user<scheduler_log_dir>
: the Logs folder for the Agent
Specify the credentials for the SSH connection:
<user>
: the SSH login user<password>
: the Password for the login user<sudo_password>
: the Password forsudo
actions- <
auth_method>
: the SSH authentication method - <
host
>: the SSH Host <port>
: the SSH port
- Use the
<postprocessing>
element to specify the post-processing commands for the Agent server's operating system. The default commands for an Ubuntu distribution will place the Agent start script under/etc/init.d
and will setup the autostart for the Universal Agent:echo ${ssh.sudo_password} | sudo -S cp ${install_path}/jobscheduler_agent/bin/jobscheduler_agent_${agent_options.scheduler_http_port}.sh /etc/init.d/jobscheduler_agent_${agent_options.scheduler_http_port}
echo ${ssh.sudo_password} | sudo -S
update-rc.d jobscheduler_agent_${agent_options.scheduler_http_port} defaults
- Set
Info | ||||||
---|---|---|---|---|---|---|
| ||||||
|
An example The Batch Installer configuration file for the installation of two Agents is attached to this page (downloadexample can be downloaded here: batch_installer_config_file.xml) and and is shown in the following code block:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <installations lastRun="2015-11-23 12:11"> <globals> <install_path>/opt</install_path> <transfer> <settings>c:\tmp\agent_batch\yade_agent_batch_installer_settings.ini</settings> </transfer> <ssh> <auth_method>password</auth_method> <port>22</port> </ssh> </globals> <installation lastRun="2015-11-23 11:11"> <agent_options> <scheduler_user>test</scheduler_user> <scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir> </agent_options> <ssh> <user>test</user> <password>xxxx</password> <sudo_password>xxxx</sudo_password> <host>192.11.0.111</host> </ssh> <postprocessing> <command>echo ${ssh.sudo_password} | sudo -S cp ${install_path}/jobscheduler_agent/bin/jobscheduler_agent_${agent_options.scheduler_http_port}.sh /etc/init.d/jobscheduler_agent_${agent_options.scheduler_http_port}</command> <command>echo ${ssh.sudo_password} | sudo -S chkconfig jobscheduler_agent_${agent_options.scheduler_http_port}</command> </postprocessing> </installation> <installation lastRun="2015-11-23 11:11"> <agent_options> <scheduler_http_port>4446</scheduler_http_port> <scheduler_user>sos</scheduler_user> <scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir> </agent_options> <ssh> <user>sos</user> <password>xxxx</password> <sudo_password>xxxx</sudo_password> <host>192.11.0.111</host> </ssh> <postprocessing> <command>echo ${ssh.sudo_password} | sudo -S cp ${install_path}/jobscheduler_agent/bin/jobscheduler_agent_${agent_options.scheduler_http_port}.sh /etc/init.d/jobscheduler_agent_${agent_options.scheduler_http_port}</command> <command>echo ${ssh.sudo_password} | sudo -S chkconfig jobscheduler_agent_${agent_options.scheduler_http_port}</command> </postprocessing> </installation> <installation lastRun="2015-11-23 11:11"> <agent_options> <scheduler_user>sos</scheduler_user> <scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir> </agent_options> <ssh> <user>sos</user> <password>xxxx</password> <sudo_password>xxxx</sudo_password> <host>192.11.0.95</host> </ssh> <postprocessing> <command>echo ${ssh.sudo_password} | sudo -S cp ${install_path}/jobscheduler_agent/bin/jobscheduler_agent_${agent_options.scheduler_http_port}.sh /etc/init.d/jobscheduler_agent_${agent_options.scheduler_http_port}</command> <command>echo ${ssh.sudo_password} | sudo -S chkconfig jobscheduler_agent_${agent_options.scheduler_http_port}</command> </postprocessing> </installation> <installation lastRun="2015-11-23 11:11"> <agent_options> <scheduler_http_port>4446</scheduler_http_port> <scheduler_user>test</scheduler_user> <scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir> </agent_options> <ssh> <user>sos</user> <password>xxxx</password> <sudo_password>xxxx</sudo_password> <host>192.11.0.95</host> </ssh> <postprocessing> <command>echo ${ssh.sudo_password} | sudo -S cp ${install_path}/jobscheduler_agent/bin/jobscheduler_agent_${agent_options.scheduler_http_port}.sh /etc/init.d/jobscheduler_agent_${agent_options.scheduler_http_port}</command> <command>echo ${ssh.sudo_password} | sudo -S chkconfig jobscheduler_agent_${agent_options.scheduler_http_port}</command> </postprocessing> </installation> <installation <installation lastRun=""> <agent_options> <scheduler_http_port>4448</scheduler_http_port> <scheduler_user>test</scheduler_user> <scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir> </agent_options> <ssh> <user>test</user> <password>xxxx</password> <sudo_password>xxxx</sudo_password> <host>192.11.0.111</host> </ssh> <postprocessing> <command>echo ${ssh.sudo_password} | sudo -S cp ${install_path}/jobscheduler_agent/bin/jobscheduler_agent_${agent_options.scheduler_http_port}.sh /etc/init.d/jobscheduler_agent_${agent_options.scheduler_http_port}</command> <command>echo ${ssh.sudo_password} | sudo -S chkconfig jobscheduler_agent_${agent_options.scheduler_http_port}</command> </postprocessing> </installation> </installations> |
...