You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 15
Next »
This article describes the use of the JobScheduler Universal Agent Batch Installer for installing extra JobScheduler Agents in an environment in which a number of Jobscheduler Agents have already been installed:
- A JobScheduler Master is up and running.
- A JobScheduler Agent is up and running on the Agent server.
- The Agent installations are to be performed on any number of servers 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.
The Batch Installer supports:
- 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.
Let be the following scenario:
- One JobScheduler Master is running.
- N different servers, where K JobScheduler Universal Agent instances have been installed on each server.
- J extra installations of JobScheduler Universal Agent have to be carried out.
Installation and Configuration Steps
For both scenarios above, the same steps will be carried out:
- Download the JobScheduler Universal Agent Batch Installer zip File
Unzip the JobScheduler Universal Agent Batch Installer zip file.
- Download the JobScheduler Universal Agent installation file.
- Copy the content of the
live
folder to the live
folder of your JobScheduler Master instance - Copy the content of the folder
batch_install
to any folder (where the JobScheduler has permissions to access) - Copy the JobScheduler Universal Agent installation file to the same folder (mentioned in step 5) and rename the JobScheduler Universal Agent installation file to
jobscheduler_unix_universal_agent.tar.gz
- Create the installer configuration file (see paragraph below Installer Configuration File)
- Job
AgentBatchInstaller:
Adjust the parameter values for the Job AgentBatchInstaller
in your JobScheduler MasterThe parameter installation_definition_file
has to be set. This parameter defines the path to the XML file that contains all parameters for the batch installation.
The parameter update
has to be set to false
. This parameter defines the following:
If true then an order for all <instances>
will be created.
If false then an order for <instances>
that do not have the last_run
attribute will be created
- Create the YADE settings file (see section below YADE profiles for the file transfer)
The following example describes how to do the installation and configuration of one JobScheduler Universal Agents in one of the Agent Servers, where more JobScheduler Universal Agents had already been installed. The extra instance is added to the configuration described in the Use Case above: Batch Installer Use Case: Multiple Instances
The installer configuration file contains an <installation>
element for each JobScheduler Universal Agent instance. Set the name for the YADE settings file in the installer configuration file with the element <globals><transfer><settings>.
An example for the installer configuration file can look like this:
<?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 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>
HINTS:
- Note that the value that defines this case is the one from
<lastRun>
in the last <installation>
. For this to work:- The parameter
update
in the Job AgentBatchInstaller
has to be set to false
. - The value
<lastRun>
has to be empty for the extra installation.
Each installation makes use of a profile in the YADE settings file. The default profile name is <host>:<port>
where
<host>
will be substituted with the value from the element <installation><agent_option><scheduler_ip_address>
<port>
will be substituted with the value from the element <installation><agent_option><scheduler_http_port>
Please follow these steps:
- Specify the name of the YADE settings file with the
<globals><settings>
element. - Open the YADE settings file or create a new one.
- Assign the XSD Schema http://www.sos-berlin.com/schema/yade/YADE_configuration_v1.0.xsd
- Add a
<ProtocolFragments>
element and nodes for each host that you want to install the JobScheduler Universal Agent for. - Add a
<Profile>
element and nodes for each host you want install the JobScheduler Universal Agent for. - 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 configuration file.
<?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[sos]]></Account>
<AuthenticationMethodPassword>
<Password><![CDATA[xxxx]]></Password>
</AuthenticationMethodPassword>
</SSHAuthentication>
</SFTPFragment>
<SFTPFragment name="SFTP_192.11.0.111:4448">
<BasicConnection>
<Hostname><![CDATA[192.11.0.111]]></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>
<Profile profile_id="192.11.0.111:4448">
<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:4448" />
</CopyTargetFragmentRef>
<Directory><![CDATA[/home/test/tmp/]]></Directory>
</CopyTarget>
</Copy>
</Operation>
</Profile>
</Profiles>
</Configurations>
HINTS:
- Note that 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:
[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 = sos
ssh_auth_method = password
password = xxxx
[protocol_fragment_sftp@SFTP_192.11.0.111:4448]
protocol = sftp
host = 192.11.0.111
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/
[192.11.0.111:4448]
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:4448
target_dir = /home/test/tmp/
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):