Table of Contents |
---|
Environment
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. The environment can be summarized as having the following characteristics:
- A JobScheduler Master is up and running.
- JobScheduler Agents have already been installed on different Agent servers.
- Another Agent is to be installed.
- The new Agent will be operated with same user and installation path as for the rest of the Agents installed on this Agent server.
- The listening port for the new Agent will be obviously a different one than the installed Agents on this server.
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 "Batch Installer Application" and "Download":
- 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 XML files with a text editor is error-prone and we recommend that you download the 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 for more detailed information about 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.- 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 performed.
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.
Example: Installation of one extra JobScheduler Universal Agent
The following example describes how to do the installation and configuration of one JobScheduler Universal Agents in one of the Agent Servers, where exactly four JobScheduler Universal Agents had already been installed - two Agents on two different servers. The extra instance is added to the configuration described in the Use Case above: Batch Installer Use Case: Multiple Instances.
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[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> |
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.
...
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 = 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/ |
Anchor | ||||
---|---|---|---|---|
|
We assume that you have opened the Batch Installer configuration file batch_installer_config_file.xml
and assigned the scheduler_universal_agent_installations.xsd
XSD schema. The XML file contains a basic example with recommended values for an Agent installation.
...
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 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> |
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:
...