Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Minor correction to text

Table of Contents

Introduction

The JobScheduler Universal Agent Batch Installer is a set of files used together by a JobScheduler Master to install the Universal Agent on local and remote servers.

This article is one of a series describing how to configure the JobScheduler Universal Agent Batch Installer so that a number of Universal Agents can be readily installed on a number of servers.

...

This article describes the use of the JobScheduler Universal Agent Batch Installer in a homogeneous environment - that is an environment in which a number of JobScheduler Agents will be installed according to the same prerequisites:

  • Requirements for this use case: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.

...

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 is operated 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 are needed for the application:

  • batch_installer_config_file.xml and 
  • yade_agent_batch_installer_settings.xml 

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 job chain have the following functions:

  • CheckPreRequisite
    • Check for the correct Java version
    • Check whether a JobScheduler Universal Agent already has been installed.
      • If yes, then the Installer:
        • shuts down any instances that are possibly running
        • removes the installation
  • Sync: Wait until all prerequisites have been checked and all instances shut down.
  • TransferInstallationSetup: Transfer the installer files to the host
    • Before the transfer starts, the preprocessor will create the instance start script from the template jobscheduler_agent_instance_script.txt
    • The files that are to be transfered are specified with the <globals><transfer><file_spec=".*\.(sh|gz)$"> configuration element

      • This regular expression causes the following files to be transfered:
        • the JobScheduler Universal Agent installer files: jobscheduler_unix_universal_agent.<version>.tar.gz
        • the instance start script: jobscheduler_agent_<port>.sh
        • the installation script: jobscheduler_universal_agent_install.sh
  • PerformInstall: Start the installation using SSH.
    • The step before transfered installation script will be executed
    • The installation script installs and starts the JobScheduler Universal Agent
    • Finally the post-processing commands will be executed
      • The post-processing commands are specified with the <installation><postprocessing><command> element
      • Three commands will be executed:
        • if you require additional commands, please add the call in the PerformInstall job
      • The default commands set up the autostart for JobScheduler Universal Agent on a Linux server (Ubuntu distribution)
        • echo ${ssh.sudo_password} | sudo -S cp ${install_path}/bin/jobscheduler_agent.sh /etc/init.d/jobscheduler
        • echo ${ssh.sudo_password} | sudo -S update-rc.d jobscheduler defaults

...

the Batch Installer and Agent Files

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

    ...

        • 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 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 Master SCHEDULER_DATA/config/live.

    ...

        • the batch_install folder
          • This folder contains the configuration files for the Batch Installer.

    ...

          •  
          • 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_

    ...

      • install folder.

    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 sos.xml.editor.exe program..
    • Use the XML Editor to configure transfer of the Universal Agent installation files:
      • Open your yade_agent_batch_installer_settings.xml YADE configurationfile, which is located in the config/batch_installer folder and assign the
      XSD  See
    • 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 the scheduler_universal_agent_installations.xsd schema: both files are located in the config/batch_installer folder.
       See
    Info
    titleHints
    • The  XML Editor is available for Windows.
    • YADE is an Open Source file transfer solution for FTP, SFTP, FTPS, WebDAV and other protocols. Concretely, it will be used here for transferring the following files from the JobScheduler Master to the Agent servers:
      • JobScheduler Universal Agent installation files: jobscheduler_unix_universal_agent.<version>.tar.gz
      • Start script for an Agent instance: jobscheduler_agent_<port>.sh
      • Installation script: jobscheduler_universal_agent_install.sh
    • For more information about YADE, see the YADE product site.

    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 live folder of your JobScheduler Master carry out the following

    • AgentBatchInstallerjob Job: set
      • Set the parameter values for the AgentBatchInstaller job in your JobScheduler Master.
      • Set the installation_definition_file job parameter to 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 job as follows:

    1. Open a JobScheduler Operating Center (JOC) browser window for the JobScheduler master.
    2. Go on the "Jobs" Window and open the "batch_installer_universal_agent" folder.
    3. Right click on the job to open the context menu.
    4. Select the Start task immediately operation.
    5. orders chapter 

    Example Use Case: Installation of two Agents

    The following example describes the installation of two Agents on separate servers. 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.

    ...

    Code Block
    languagexml
    titleBatch Installer Configuration File
    collapsetrue
    <?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:\Program Files (x86)\sos-berlin.com\jobscheduler\vg_4444\scheduler_data\config\batch_installer\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>
      	    <installation_file>jobscheduler_unix_universal_agent.1.10.2.tar.gz</installation_file>
            <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 update-rc.d jobscheduler_agent_${agent_options.scheduler_http_port} defaults</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>

     

    Info
    titleHints
    • Note that if the port is not specified with the <installations><installation><agent_options><scheduler_http_port> element and means that the global default value of 4445 is will be applied to all Agent installations.

    • For a homogeneous environment parameters can be specified with the <global> element and applied to all Agent installations.

    ...