Table of Contents |
---|
...
Introduction
This article describes the use of is one of a series describing how to configure 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.
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.
...
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 heterogeneous 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 heterogeneous environment in which a number of JobScheduler Agents are to 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.
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 JobScheduler Agents will be installed by a JobScheduler Master that:
- connects to the Servers that the Agents are to be installed on and
- executes the required Agent installations.
The Batch Installer application has two main components - a JobScheduler AgentBatchInstaller
job and a JobScheduler universal_agent_installer
job chain. In addition, two XML files batch_installer_config_file.xml
and yade_agent_batch_installer_settings.xml
are needed for the application.
The AgentBatchInstaller
job is responsible for creating the JobScheduler orders for the job chain. Each of these orders is named according to the pattern <host>:<port>
to convey the host and port of the server where each Agent is to be installed.
The universal_agent_installer
job chain has four job nodes configured in series as follows:
...
The individual nodes in the universal_agent_installer
job chain have the following functions:
CheckPreRequisite
- Check for the correct Java version.
- Check whether a JobScheduler Universal Agent has already been installed. If so:
- shut down the instance if it is running,
- remove the installation.
Sync:
To wait until all prerequisites have been checked and any already installed Agent instances that are running have been shut down.
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 each Agent instance. - The XML file
yade_agent_batch_installer_settings.xml
has to be configured and converted to.ini
file 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
...
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:
- 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
- folders and sub-folders
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
.
- folder
...
- the
batch_install
folder- This folder contains the configuration files for the Batch Installer.
- the
...
- Extract these files to the JobScheduler configuration directory
SCHEDULER_DATA/config
.
- 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
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 the
sos.xml.editor.exe
program program. - Use the XML Editor to configure transfer of the Universal Agent installation files:
Open your- Open your
yade_agent_batch_installer_settings.xml
- YADE configuration
file, which is located in
- the
config/batch_installer
- folder and assign the
- following schema in the XML Editor:
- See the YADE profiles for the file transfer chapter below for instructions on how to configure the YADE configuration file.
- 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
Carry out the following once the job and job chain Once the Job and Job Chain have been extracted to the the live
folder folder of your JobScheduler Master carry out the following:
AgentBatchInstaller
J
ob:- Set
AgentBatchInstaller
job: adjust- the parameter values for the
AgentBatchInstaller
job in your JobScheduler Master. Set the
installation_definition_file
job parameter to point the path that points to the Batch Installer configuration file.
3 Installation of the Agents
The Agents can be installed after the XML configuration files and JobScheduler jobs Jobs have been configured. Start a task for the AgentBatchInstaller
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 operation. - This job will create the appropriate Orders for the JobScheduler orders
- as explained in the chapter
- description of the Batch Installer Application.
Example: Installation of two Agents
The following example describes the installation of two JobScheduler Universal Agents on separate servers - that is, one JobScheduler Universal Agent will be installed per Server. First of all, the YADE configuration file for the file transfer will be specified (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 in the XML Editor and assigned the http://www.sos-berlin.com/schema/yade/YADE_configuration_v1.0.xsd
XSD schema.
...
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:44454447"> <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[sos]]></Account> <AuthenticationMethodPassword> <Password><![CDATA[xxxx]]></Password> </AuthenticationMethodPassword> </SSHAuthentication> </SFTPFragment> </ProtocolFragments> </Fragments> <Profiles> <Profile profile_id="192.11.0.111:44454447"> <Operation> <Copy> <CopySource> <CopySourceFragmentRef> <LocalSource /> </CopySourceFragmentRef> <SourceFileOptions> <Selection> <FileSpecSelection> <FileSpec><![CDATA[.*\.(sh|gz)$]]></FileSpec> <Directory><![CDATA[C:\tmp\agent_batch<Directory><![CDATA[C:\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:44454447" /> </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\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/sos/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 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 converted from the XML file 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:44454447] 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 = sos ssh_auth_method = password password = xxxx [192.11.0.111:44454447] operation = copy source_protocol = local file_spec = .*\.(sh|gz)$ source_dir = C:\tmp\agent_batch\Program Files (x86)\sos-berlin.com\jobscheduler\vg_4444\scheduler_data\config\batch_installer target_include = protocol_fragment_sftp@SFTP_192.11.0.111:44454447 target_dir = /home/test/tmp/ [192.11.0.95:4445] operation = copy source_protocol = local file_spec = .*\.(sh|gz)$ source_dir = C:\tmp\agent_batchProgram 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/sos/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.
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<?xml version="1.0" encoding="utf-8"?> <installations lastRun="2015-11-19 17:11"> <globals> <transfer> <settings><![CDATA[c:\tmp\agent_batchC:\Program Files (x86)\sos-berlin.com\jobscheduler\vg_4444\scheduler_data\config\batch_installer\yade_agent_batch_installer_settings.ini]]></settings> </transfer> <installation_file><![CDATA[jobscheduler_unix_universal_agent.1.10.2-SNAPSHOT.tar.gz]]></installation_file> </globals> <installation lastRun="2015-11-19 17:11"> <install_path><![CDATA[/opt]]></install_path> <agent_options> <scheduler_http_port>4447</scheduler_http_port> <scheduler_user><![CDATA[test]]></scheduler_user> <scheduler_log_dir><![CDATA[/var/log/sos-berlin.com/jobscheduler/agent]]></scheduler_log_dir> </agent_options> <ssh> <password><![CDATA[test]]></password> <sudo_password><![CDATA[xxxx]]></sudo_password> <auth_method><![CDATA[password]]></auth_method> <host><![CDATA[192.11.0.111]]></host> <port><![CDATA[22]]></port> </ssh> <postprocessing> <command><![CDATA[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><![CDATA[echo ${ssh.sudo_password} | sudo -S update-rc.d jobscheduler_agent_${agent_options.scheduler_http_port}]]></command> </postprocessing> </installation> <installation lastRun="2015-11-19 17:11"> <install_path><![CDATA[/opt/]]></install_path> <agent_options> <scheduler_http_port>4445</scheduler_http_port> <scheduler_user><![CDATA[sos]]></scheduler_user> <scheduler_log_dir><![CDATA[/var/log/sos-berlin.com/jobscheduler/agent]]></scheduler_log_dir> </agent_options> <ssh> <user><![CDATA[sos]]></user> <password><![CDATA[xxxx]]></password> <sudo_password><![CDATA[xxxx]]></sudo_password> <auth_method><![CDATA[password]]></auth_method> <host><![CDATA[192.11.0.95]]></host> <port><![CDATA[22]]></port> </ssh> <postprocessing> <command><![CDATA[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><![CDATA[echo ${ssh.sudo_password} | sudo -S chkconfig jobscheduler_agent_${agent_options.scheduler_http_port}]]></command> </postprocessing> </installation> </installations> |
Info | ||
---|---|---|
| ||
|
Excerpt Include | ||||||
---|---|---|---|---|---|---|
|