Table of Contents |
---|
Environment definition
We define an homogeneous environment as an environment where the JobScheduler Universal Agents will be installed under the same conditions:
- A JobScheduler Master is up and running.
- Agent installations are performed for an arbitrary number of servers with the same operating system. One Agent is installed per server.
- Agents are operated with the same user, listening port and installation path.
The Batch Installer supports
- First Installation: no Agent is installed and running on the server.
- Update Installation: an Agent is installed and optionally up and running.
Download
The following steps have to be carried out. Files can be downloaded from http://www.sos-berlin.com/jobscheduler-downloads
- Unix
- Download the "JobScheduler Universal Agent" tarball for Unix
- Download the "JobScheduler Universal Agent Batch Installer" for Unix. The archive file contains:
- the folder
config/live/batch_installer_agent
contains jobs and job chains that should be extracted to thelive
folder of the JobScheduler Master. - the folder
config/batch_installer
contains configuration files for the Batch Installer that should be extracted to the JobScheduler configuration directory. - Copy the JobScheduler Universal Agent installation file to the folder
config/batch_installer
and rename the JobScheduler Universal Agent installation file to"jobscheduler_unix_universal_agent.tar.gz".
- the folder
- Windows
- Download the "JobScheduler Universal Agent " for Windows
- Download the "JobScheduler Universal Agent Batch Installer" for Windows. The archive file contains:
- the folder
config/live/batch_installer_agent
contains jobs and job chains that should be extracted to thelive
folder of the JobScheduler Master. - the folder
config/batch_installer
contains configuration files for the Batch Installer that should be extracted to the JobScheduler configuration directory. - Copy the JobScheduler Universal Agent installation file to the folder
config/batch_installer
and rename the JobScheduler Universal Agent installation file to"jobscheduler_unix_universal_agent.tar.gz".
- the folder
Configuration
- Configure the Batch Installer configuration file (see paragraph below Installer Configuration File). This file
batch_installer_config_file.xml
contains all parameters for the batch installation in an XML format. - Job
AgentBatchInstaller:
Adjust the parameter values for the JobAgentBatchInstaller
in your JobScheduler MasterAdjust the
installation_definition_file
job parameter that points to the Batch Installer configuration file.
- Create the YADE settings file (see section below YADE profiles for the file transfer)
Example: Installation of two Agents
The following example describes the installation of two JobScheduler Universal Agents on two Servers, that is, one JobScheduler Universal Agent installed per Server.
...
Wo finde ich eine Beispiel-Datei?
The Batch Installer configuration file contains an <installation>
element for each Agent instance. Set the name for the YADE settings file in the Batch Installer configuration file with the element <globals><transfer><settings>.
An example for the installer configuration file can look like this:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<installations lastRun="2015-11-20 14:11">
<globals>
<install_path>/opt</install_path>
<transfer>
<settings>c:\tmp\agent_batch\yade_agent_batch_installer_settings.ini</settings>
</transfer>
<ssh>
<user>test</user>
<password>xxxx</password>
<sudo_password>xxxx</sudo_password>
<auth_method>password</auth_method>
<port>22</port>
</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>
</globals>
<installation lastRun="2015-11-20 14:11">
<agent_options>
<scheduler_user>test</scheduler_user>
<scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir>
</agent_options>
<ssh>
<host>xxxx</host>
</ssh>
</installation>
<installation lastRun="2015-11-20 14:11">
<agent_options>
<scheduler_user>test</scheduler_user>
<scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir>
</agent_options>
<ssh>
<host>xxxx</host>
</ssh>
</installation>
</installations> |
Hints:
...
Introduction
The JobScheduler Universal Agent Batch Installer is a set of files used together by a JobScheduler Master to install the Universal Agent on local and remote servers.
This article is one of a series describing how to configure the JobScheduler Universal Agent Batch Installer so that a number of Universal Agents can be readily installed on a number of servers.
Article Scope
This article describes how to use the Universal Agent Batch Installer to install Agents in a homogeneous environment. Other use cases in this series of articles are listed in the introductory JobScheduler Universal Agent - Batch Installation and Update of Agents article.
A general introduction to installation of the JobScheduler Universal Agent can be found in the JobScheduler Universal Agent - Installation & Operation article.
The JobScheduler Universal Agent - Batch Installation and Update of Agents article provides an overview of how the Batch Installer works. New users are strongly recommended to read this article before proceeding with the instructions presented here.
The Batch Installation - Reference Documentation article provides a detailed guide to configuration of the batch installer with, for example, full lists of parameters.
Installation Environment
This article describes the use of the JobScheduler Universal Agent Batch Installer in a homogeneous environment - that is an environment in which a number of JobScheduler Agents will be installed according to the same prerequisites:
- Requirements for this use case:
- 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.
Installation Procedure
General requirements:
- A JobScheduler Master is up and running.
- A Java Run-time Environment in version 1.8 or newer is installed on the system(s) the Agent is to be installed on.
- We recommend that you use the SOS XML Editor to manage the configuration files required for the Batch Installer. More information about the installation and use of the XML editor will be provided later in this article.
1. Download and Extract the Batch Installer and Agent Files
The following steps have to be carried out. Files can be downloaded from http://www.sos-berlin.com/jobscheduler-downloads
- 1.1 Unix
- Download the "JobScheduler Universal Agent" tarball for Unix.
- Download the "Universal Agent Batch Installer". The archive contains the following folders and sub-folders:
live/batch_install_universal_agent
- This folder contains the Jobs and Job Chain used to carry out the installation.
- Extract these files to the the
live
folder of the JobScheduler Master:SCHEDULER_DATA/config/live
.
batch_install
- This folder contains the configuration files for the Batch Installer.
- Extract these files to the
config
directory of the JobScheduler Master:SCHEDULER_DATA
/config
.
- Copy the JobScheduler Universal Agent installation file to the
SCHEDULER_DATA/config/
batch_install
folder.
- 1.2 Windows
- Download the "JobScheduler Universal Agent" for Windows.
- Download the "Universal Agent Batch Installer". The archive contains the following folders and sub-folders
- the
live/batch_install_universal_agent
folder- This folder contains the Jobs and Job Chain used to carry out the installation.
- Extract these files to the
live
folder of the JobScheduler MasterSCHEDULER_DATA/config/live
.
- the
batch_install
folder- This folder contains the configuration files for the Batch Installer.
- Extract these files to the JobScheduler configuration directory
SCHEDULER_DATA/config
.
- the
- Copy the JobScheduler Universal Agent installation file to the folder
SCHEDULER_DATA/config/
batch_instal
folderl
.
2. Configure the Transfer of the Universal Agent Installation Files and the Installation of the Agents
2.1 Edit the XML Configuration files
Configuring complex XML files with a text editor is often a tedious and error-prone procedure. To get around this, we recommend that you use our XML Editor 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 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. - Use the XML Editor to configure transfer of the Universal Agent installation files:
- Open your
yade_agent_batch_installer_settings.xml
YADE configurationfile, which is located in the
config/batch_installer
folder and assign the following schema in the XML Editor:- http://www.sos-berlin.com/schema/yade/YADE_configuration_v1.0.xsd.
- See the YADE profiles for the file transfer chapter below for instructions on how to configure the YADE configuration file.
- Open your
- Use the XML Editor to configure the installation of the Universal Agents:
- 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 below for instructions on how to configure the Batch Installer configuration file.
- Open your
Info | ||
---|---|---|
| ||
|
2.2 Configure the JobScheduler Jobs
Once the Job and Job Chain have been extracted to the live
folder of your JobScheduler Master carry out the following:
AgentBatchInstaller
J
ob:- Set the parameter values for the
AgentBatchInstaller
job in your JobScheduler Master. Set the
installation_definition_file
job parameter to the path that points to the Batch Installer configuration file.
- Set the parameter values for the
3 Installation of the Agents
The Agents can be installed after the XML configuration files and JobScheduler Jobs have been configured. Start a task for the AgentBatchInstaller
job as follows:
- 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. - This job will create the appropriate Orders for the JobScheduler as explained in the description of the Batch Installer Application.
Example Use Case: Installation of two Agents
The following example describes the installation of two Agents on separate servers. First of all, the YADE configuration file for the file transfer will be configured (in XML format), it will then be converted to the YADE settings file format (.ini) and finally the Batch Installer configuration file will be specified.
...
Anchor | ||||
---|---|---|---|---|
|
=> Wo liegt die Beispiel-Datei?
We assume that you have opened the yade_agent_batch_installer_settings.xml
YADE configuration file in the XML Editor and assigned the http://www.sos-berlin.com/schema/yade/YADE_configuration_v1.0.xsd
XSD schema.
A separate profile in the YADE configuration file is required for each Agent installation. Each installation makes use of a profile in the YADE configuration file. The default profile name is <host>:<port>
where:
<host>
will be substituted with the value from the element the<installation><agent_option><scheduler_ip_address>
element and<port>
will be substituted with the value from the element the<installation><agent_option><scheduler_http_port>
Please follow these steps:
...
- element.
Now carry out the following steps:
...
- Add a
<ProtocolFragments>
element and nodes for each host that you want to install the JobScheduler Universal Agent for. Add a The best way to add another<ProtocolFragments>
element using the XML Editor is copying the element and pasting it to the parent element - in this case<Fragments>
. - Add a
<Profile>
element and nodes for each host that you want to install the JobScheduler Universal Agent for. The best way to add another<Profile>
element using the XML Editor is copying the element and pasting it to the parent element - here<Profiles>
. - The default
profile_id
is<host>:<port>
. If you do not use the default then you have to specify the profile name in the installer Batch Installer configuration file.
The contents of the YADE configuration file for the example is listed in the following code block:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
Code Block | ||||||
| ||||||
<?xml version="1.0" encoding="utf-8"?> <Configurations xsi:noNamespaceSchemaLocation="http://www.sos-berlin.com/schema/yade/YADE_configuration_v1.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Fragments> <ProtocolFragments> <SFTPFragment name="SFTP_192.11.0.111:4445"> <BasicConnection> <Hostname><![CDATA[192.11.0.111]]></Hostname> </BasicConnection> <SSHAuthentication> <Account><![CDATA[test]]></Account> <AuthenticationMethodPassword> <Password><![CDATA[xxxx]]></Password> </AuthenticationMethodPassword> </SSHAuthentication> </SFTPFragment> <SFTPFragment name="SFTP_192.11.0.95:4445"> <BasicConnection> <Hostname><![CDATA[192.11.0.95]]></Hostname> </BasicConnection> <SSHAuthentication> <Account><![CDATA[test]]></Account> <AuthenticationMethodPassword> <Password><![CDATA[xxxx]]></Password> </AuthenticationMethodPassword> </SSHAuthentication> </SFTPFragment> </ProtocolFragments> </Fragments> <Profiles> <Profile profile_id="192.11.0.111:4445"> <Operation> <Copy> <CopySource> <CopySourceFragmentRef> <LocalSource /> </CopySourceFragmentRef> <SourceFileOptions> <Selection> <FileSpecSelection> <FileSpec><![CDATA[.*\.(sh|gz)$]]></FileSpec> <Directory><![CDATA[C:\tmp\agent_batch\Program Files (x86)\sos-berlin.com\jobscheduler\vg_4444\scheduler_data\config\batch_installer]]></Directory> </FileSpecSelection> </Selection> </SourceFileOptions> </CopySource> <CopyTarget> <CopyTargetFragmentRef> <SFTPFragmentRef ref="SFTP_192.11.0.111:4445" /> </CopyTargetFragmentRef> <Directory><![CDATA[/home/test/tmp/]]></Directory> </CopyTarget> </Copy> </Operation> </Profile> <Profile profile_id="192.11.0.95:4445"> <Operation> <Copy> <CopySource> <CopySourceFragmentRef> <LocalSource /> </CopySourceFragmentRef> <SourceFileOptions> <Selection> <FileSpecSelection> <FileSpec><![CDATA[.*\.(sh|gz)$]]></FileSpec> <Directory><![CDATA[C:\tmp\agent_batch]]></Directory> Program Files (x86)\sos-berlin.com\jobscheduler\vg_4444\scheduler_data\config\batch_installer]]></Directory> </FileSpecSelection> </Selection> </SourceFileOptions> </CopySource> <CopyTarget> <CopyTargetFragmentRef> <SFTPFragmentRef ref="SFTP_192.11.0.95:4445" /> </CopyTargetFragmentRef> <Directory><![CDATA[/home/test/tmp/]]></Directory> </CopyTarget> </Copy> </Operation> </Profile> </Profiles> </Configurations> |
...
Anchor | ||||
---|---|---|---|---|
|
Note that the file shown above is in the YADE XML format and that YADE versions 1.10 and older 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.
- We recommended that you use the XML Editor to convert configuration files from XML to the
.ini
format (see the XML Editor for converting YADE configuration files (XML) into YADE setting files (.ini) section below for more information). - The following example shows as an example a
.ini
file that has been this is a XML file and YADE will expect an INI file to do the transfer, as we indicated in the installer configuration file (in the section<globals><install_path><transfer><settings>
). - It is recommended to use the XML Editor for converting from XML to INI format (see below paragraph Using the XML Editor) Here is an example of an INI file, converted from the XML file attached above:above. You can download the example using this link: yade_agent_batch_installer_settings.ini.
Code Block | |
---|---|
|
...
| |||
[protocol_fragment_sftp@SFTP_192.11.0.111:4445]
protocol = sftp
host = 192.11.0.111
user = test
ssh_auth_method = password
password |
...
= xxxx
[protocol_fragment_sftp@SFTP_192.11.0.95:4445]
protocol = sftp
host = 192.11.0.95
user = test
ssh_auth_method = password
password = xxxx
[192.11.0.111:4445]
operation = copy
source_protocol = local
file_spec = .*\.(sh|gz)$
source_dir = C:\Program Files (x86)\sos-berlin.com\jobscheduler\vg_4444\scheduler_data\config\batch_installer
target_include = protocol_fragment_sftp@SFTP_192.11.0.111:4445
target_dir = /home/test/tmp/
[192.11.0.95:4445]
operation = copy
source_protocol = local
file_spec = .*\.(sh|gz)$
source_dir = C:\Program Files (x86)\sos-berlin.com\jobscheduler\vg_4444\scheduler_data\config\batch_installer
target_include = protocol_fragment_sftp@SFTP_192.11.0.95:4445
target_dir = /home/test/tmp/ |
Anchor | ||||
---|---|---|---|---|
|
We assume that you have opened the Batch Installer configuration file batch_installer_config_file.xml
in the XML Editor and assigned the scheduler_universal_agent_installations.xsd
XSD schema.
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 to specify parameters that will be applied to all Agent installations. If a parameter is specified in both the <global>
element and in an individual <installation>
element then the setting for the individual element will overwrite the global setting.
The following configuration steps should be carried out:
- Specify the Global parameters:
- Specify the
<install_path>
to point to a location where the Agent should be installed. Specify the path to the YADE settings file (.ini file) in the Batch Installer configuration file with the element
<globals><transfer><settings>.
Specify the credentials for the SSH connection:
<user>
: SSH login user<password>
: Password for the login user<sudo_password>
: Password forsudo
actions- <
auth_method>
: SSH authentication method <port>
: SSH port
Specify the filename (not the path) for the Agent that has to be installed with the
<installation_file>
element. This filename contains the version of the Agent which you are installing and it is helpful for recognizing the version of the Agents that are installed.- 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
- Specify the
- Specify the installation parameters for each Agent installation:
- Agent options:
<scheduler_user>
: the Agent user<scheduler_log_dir>
: the Logs folder for the Agent
<host>
: SSH Host
- Agent options:
Info | ||
---|---|---|
| ||
|
The Batch Installer configuration file for the example can be downloaded here: batch_installer_config_file.xml and its contents are listed in the following code block:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <installations lastRun="2015-11-20 14:11"> <globals> <install_path>/opt</install_path> <transfer> <settings>C:\Program |
...
Files (x86)\sos-berlin.com\jobscheduler\vg_4444\scheduler_data\config\batch_installer\yade_agent_batch_installer_settings.ini</settings> </transfer> <ssh> <user>test</user> |
...
<password>xxxx</password> |
...
<sudo_password>xxxx</sudo_password> <auth_method>password</auth_method> |
...
<port>22</port> </ssh> <installation_file>jobscheduler_unix_universal_agent.1.10.2.tar.gz</installation_file> |
...
<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 |
...
update-rc.d jobscheduler_agent_${agent_options.scheduler_http_port} defaults</command> </postprocessing> </globals> <installation lastRun="2015-11-20 14:11"> |
...
<agent_options> <scheduler_user>test</scheduler_user> |
...
...
<scheduler_ |
...
log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir> </agent_options> <ssh> |
...
|
...
<host>xxxx</host> </ssh> </installation> |
...
<installation lastRun="2015-11-20 14:11"> <agent_options> |
...
<scheduler_user>test</scheduler_user> <scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent</scheduler_log_dir> </agent_options> <ssh> |
...
<host>xxxx</host> |
...
</ssh>
</installation>
</installations> |
Info | ||
---|---|---|
| ||
|
Excerpt | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
The XML Editor can be used to manage the Batch Installer configuration file and the YADE configuration file. XML Editor for Batch Installer configuration fileAn example Batch Installer configuration file for the installation of a single Agent is shown in the following screenshot: XML Editor for YADE configuration fileAn example YADE configuration file for the installation of a single Agent is shown in the next screenshot:
The "YADE Xml2Ini Converter" function in the XML Editor is available for converting YADE files from XML to the Note that it is not necessary to create a Profile for the Batch Installer, as conversion will take place automatically once the "Autotransform" option has been chosen. Every time a change in the XML file is saved the XML file will be automatically converted and saved in A pop-up window will show every time a change is saved if the option "Show notification on autotransform" is chosen. |
...
Then XML Editor can be used to manage the installation configuration file and the YADE profiles for the transfer of the installation files as well.
Find more details from our XML Editor section.
- After download of the XML Editor, extract the zip file, then start "sos.xml.editor.exe"
- Open your installer configuration file and assign the XSD schema
scheduler_universal_agent_installations.xsd
Please see the following examples (one example for each file):
|