Table of Contents |
---|
Environment
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:
...
- First Installation: an Agent has not yet been installed on the server.
- Update Installation: an Agent has already been installed and may be up and running.
Anchor | ||||
---|---|---|---|---|
|
The JobScheduler Agents will be installed by a JobScheduler Master that:
...
TransferInstallationSetup
: To transfer the installer files on the host- Before the transfer starts, the preprocessor will use the use the
jobscheduler_agent_instance_script.txt
template to create a start script for the Agent instance. - The XML file
yade_agent_batch_installer_settings.xml
has to be configured and converted to.ini
file format before the transfer starts. See the YADE configuration file for the file transfer chapter below for instructions on how to configure the YADE configuration file and YADE Settings File for the File Transfer for instructions on how the.ini
file should look like. The files that will be transfered are specified with the element
<globals><transfer><file_spec=".*\.(sh|gz)$">
- This regular expression is used to select the files to be transfered:
- the JobScheduler Universal Agent installation files:
jobscheduler_unix_universal_agent.tar.gz
thejobscheduler_agent_<port>.sh
start script for the instance - the installation script:
jobscheduler_universal_agent_install.sh
- the JobScheduler Universal Agent installation files:
- Before the transfer starts, the preprocessor will use the use the
PerformInstall
: The installation is started by SSH.- The installation script will install and start the JobScheduler Universal Agent
- The
PerformInstall
job post-processing commands will then be executed:- These commands are specified using the
<installation><postprocessing><command>
element. - The default configuration for a Linux server will place the Agent start script under
/etc/init.d
and set up the autostart for JobScheduler Universal Agent (the following example is for a Ubuntu distribution):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
- These commands are specified using the
Download
The following steps have to be carried out. All the files mentioned in this section can be downloadedfrom 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 contains the following:
- a
config/live/batch_installer_agent
folder, with the jobs and job chains. Extract these files to thelive
folder of the JobScheduler Master:SCHEDULER_DATA/config/live
. - a
config/batch_installer
folder with the configuration files for the Batch Installer. Extract these files to theconfig
directory of the JobScheduler Master:SCHEDULER_DATA
/config
. - Copy the JobScheduler Universal Agent installation file to the
SCHEDULER_DATA/config/
batch_installer
folder.
- a
- Windows
- Download the "JobScheduler Universal Agent" for Windows.
- Download the "JobScheduler Universal Agent Batch Installer" for Windows. The archive provides the following content:
- the
config/live/batch_installer_agent
folder with the jobs and job chains. Extract these files to thelive
folder of the JobScheduler MasterSCHEDULER_DATA/config/live
. - the
config/batch_installer
folder with the configuration files for the Batch Installer. Extract these files to the JobScheduler configuration directorySCHEDULER_DATA/config
. - Copy the JobScheduler Universal Agent installation file to the folder
SCHEDULER_DATA/config/
batch_installer
.
- the
Configuration
XML 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.
...
Info | ||
---|---|---|
| ||
|
JobScheduler Jobs
Carry out the following once the job and job chain have been extracted to the live
folder of your JobScheduler Master:
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.
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 JobScheduler orders as explained in the chapter Batch Installer Application.
Example: Installation of four Agents on two Servers
The following example describes how to install four JobScheduler Universal Agents on two Servers - that is, two JobScheduler Universal Agents will be installed per server. 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 | ||||
---|---|---|---|---|
|
We assume that you have opened the yade_agent_batch_installer_settings.xml
YADE configuration file and have assigned the http://www.sos-berlin.com/schema/yade/YADE_configuration_v1.0.xsd
XSD schema. The XML file contains a basic example with recommended values for the installation of a single Agent.
...
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.111:4446"> <BasicConnection> <Hostname><![CDATA[192.11.0.111]]></Hostname> </BasicConnection> <SSHAuthentication> <Account><![CDATA[sos]]></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[sos]]></Account> <AuthenticationMethodPassword> <Password><![CDATA[xxxx]]></Password> </AuthenticationMethodPassword> </SSHAuthentication> </SFTPFragment> <SFTPFragment name="SFTP_192.11.0.95:4446"> <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]]></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.111:4446"> <Operation> <Copy> <CopySource> <CopySourceFragmentRef> <LocalSource /> </CopySourceFragmentRef> <SourceFileOptions> <Selection> <FileSpecSelection> <FileSpec><![CDATA[.*\.(sh|gz)$]]></FileSpec> <Directory><![CDATA[C:\tmp\agent_batch]]></Directory> </FileSpecSelection> </Selection> </SourceFileOptions> </CopySource> <CopyTarget> <CopyTargetFragmentRef> <SFTPFragmentRef ref="SFTP_192.11.0.111:4446" /> </CopyTargetFragmentRef> <Directory><![CDATA[/home/sos/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> </FileSpecSelection> </Selection> </SourceFileOptions> </CopySource> <CopyTarget> <CopyTargetFragmentRef> <SFTPFragmentRef ref="SFTP_192.11.0.95:4445" /> </CopyTargetFragmentRef> <Directory><![CDATA[/home/sos/tmp/]]></Directory> </CopyTarget> </Copy> </Operation> </Profile> <Profile profile_id="192.11.0.95:4446"> <Operation> <Copy> <CopySource> <CopySourceFragmentRef> <LocalSource /> </CopySourceFragmentRef> <SourceFileOptions> <Selection> <FileSpecSelection> <FileSpec><![CDATA[.*\.(sh|gz)$]]></FileSpec> <Directory><![CDATA[C:\tmp\agent_batch]]></Directory> </FileSpecSelection> </Selection> </SourceFileOptions> </CopySource> <CopyTarget> <CopyTargetFragmentRef> <SFTPFragmentRef ref="SFTP_192.11.0.95:4446" /> </CopyTargetFragmentRef> <Directory><![CDATA[/home/test/tmp/]]></Directory> </CopyTarget> </Copy> </Operation> </Profile> </Profiles> </Configurations> |
Anchor | ||||
---|---|---|---|---|
|
Note that the file shown above is an in the YADE XML file format and that YADE versions less that 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.
...
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.111:4446] protocol = sftp host = 192.11.0.111 user = sos ssh_auth_method = password password = xxxx [protocol_fragment_sftp@SFTP_192.11.0.95:4445] protocol = sftp host = 192.11.0.95 user = sos ssh_auth_method = password password = xxxx [protocol_fragment_sftp@SFTP_192.11.0.95:4446] 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:\tmp\agent_batch target_include = protocol_fragment_sftp@SFTP_192.11.0.111:4445 target_dir = /home/test/tmp/ [192.11.0.111:4446] operation = copy source_protocol = local file_spec = .*\.(sh|gz)$ source_dir = C:\tmp\agent_batch target_include = protocol_fragment_sftp@SFTP_192.11.0.111:4446 target_dir = /home/sos/tmp/ [192.11.0.95:4445] operation = copy source_protocol = local file_spec = .*\.(sh|gz)$ source_dir = C:\tmp\agent_batch target_include = protocol_fragment_sftp@SFTP_192.11.0.95:4445 target_dir = /home/sos/tmp/ [192.11.0.95:4446] operation = copy source_protocol = local file_spec = .*\.(sh|gz)$ source_dir = C:\tmp\agent_batch target_include = protocol_fragment_sftp@SFTP_192.11.0.95:4446 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.
...
Info | ||
---|---|---|
| ||
|
Anchor | ||||
---|---|---|---|---|
|
The XML Editor can be used to manage the Batch Installer configuration file and the YADE configuration file.
XML Editor for Batch Installer configuration file
An example Batch Installer configuration file for the installation of a single Agent is shown in the following screenshot:
XML Editor for YADE configuration file
An example YADE configuration file for the installation of a single Agent is shown in the next screenshot:
Anchor | ||||
---|---|---|---|---|
|
The "YADE Xml2Ini Converter" function in the XML Editor is available for converting YADE files from XML to the .ini
format required by versions of YADE before 1.11. Clicking on the button of the same name will open the following form:
...