Table of Contents |
---|
Scenarios
We define an homogeneous environment as an environment where the JobScheduler Universal Agents that want to be installed will be installed under the same conditions. The following scenarios only differ between a fresh installation and an update from an already installed Agent.
...
same conditions
...
Let be the following scenario:
- One A JobScheduler Master is up and running.
- N different servers, where ONE JobScheduler Universal Agent instance will be installed (Agent server).
- The ports where the JobScheduler Universal Agents will be running are the same ones.
- The users, which the JobScheduler Universal Agents is running under, are the same ones.
- There has been no previous JobScheduler Universal Agents installations on these N servers.
Scenario 2: Agent Update where same conditions in each Agent server
Let be the following scenario:
- One JobScheduler Master is running.
- N different servers, where ONE JobScheduler Universal Agent instance will be installed.
- The ports where the JobScheduler Universal Agents will be running are the same ones.
- The users, which the JobScheduler Universal Agents is running under, are the same ones.
- It is NOT a fresh installation, instead it is an UPDATE of the JobScheduler Universal Agents that have been already installed on these servers.
Installation and Configuration Steps
For both scenarios above, the same steps will be carried out:
...
- 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
- Windows
- Download the "JobScheduler Universal Agent " for Windows
- Download the "
- JobScheduler Universal Agent Batch Installer
- Download the JobScheduler Universal Agent installation file.
- " 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
- the folder
- (((Copy the content of the
live
folder to thelive
folder of your JobScheduler Master instance))) - (((Copy the content of the folder
batch_install
to any folder (where the JobScheduler has permissions to access)))
- " for Windows. The archive file contains:
- ---
- 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 (bitte klären, weshalb man nicht den originalen Namen behalten und konfigurieren kann).
Configuration
- Create the installer Batch Installer configuration file (see paragraph below Installer Configuration File) Configuration File). This file contains all parameters for the batch installation in an XML format.
- Job
AgentBatchInstaller:
Adjust the parameter values for the JobAgentBatchInstaller
in your JobScheduler MasterThe only parameter to adjust in that case is Adjust the
installation_definition_file
, where it is set the path to the XML file that contains all parameters for the batch installation.The rest of the parameters should be let as defined per default 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 how to do the installation of two JobScheduler Universal Agents in on two Servers, that is, one JobScheduler Universal Agent installed per Server.
Anchor | ||||
---|---|---|---|---|
|
...
Batch Installer Configuration File
Wo finde ich eine Beispiel-Datei?
The installer Batch Installer configuration file contains an <installation>
element for each JobScheduler Universal Agent instance. Set the name for the YADE settings file in the installer 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> |
HINTSHints:
- Note that no port is indicated here, that is, the parameter
<scheduler_http_port>
is not indicated here (in the section<installations><installation><agent_options>
) . That is a very useful configuration in case the ports selected for the different JobScheduler Universal Agent would be all 4445, which is the default value. So for that example, all JobScheduler Universal Agents will be running on the port 4445 (in their Agent server respectively). - The commands defined under
<command>
(in the section<installations><globals><postprocessing><command>
) will be executed for all installations defined afterwards in the file. In case you would install the Agents in different UNIX distributions, it is recommended to set them individually for each installation, instead of as a global parameter.
...
- => hier auf anderen Use Case verlinken
Anchor | ||||
---|---|---|---|---|
|
...
Configuration File for File Transfer
=> Wo liegt die Beispiel-Datei?
Each installation makes use of a profile in the YADE settings configuration file. The default profile name is <host>:<port>
where
...
- Specify the name of the YADE settings configuration file with the
<globals><settings>
element. - Open the YADE settings configuraiton 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.
...
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]]></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> </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> |
HINTSHints:
- 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:
Code Block title INI file collapse true [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:\tmp\agent_batch 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:\tmp\agent_batch target_include = protocol_fragment_sftp@SFTP_192.11.0.95:4445 target_dir = /home/test/tmp/
...