Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Scenarios

Scenario 1

Let be the following scenario:

  • One JobScheduler Master is running.
  • N different servers, where K JobScheduler Universal Agent instances have to be installed on each server. 
  • The ports where the JobScheduler Universal Agents will be running are the NOT the same ones 
  • The users, which the JobScheduler Universal Agents is running under are NOT named the same.
  • There has been no previous JobScheduler Universal Agents installations on the N servers.

Scenario 2

Let be the following scenario:

  • One JobScheduler Master is running.
  • N different servers, where K JobScheduler Universal Agent instances have to be installed on each server. 
  • The ports where the JobScheduler Universal Agents will be running are the NOT the same ones.
  • The users, which the JobScheduler Universal Agents is running under are NOT named the same.
  • It is NOT a fresh installation, but it is an update of the JobScheduler Universal Agents that have been already installed on the servers.

Installation and Configuration Steps

For both scenarios above, the same steps will be carried out:

  1. Download the JobScheduler Universal Agent Batch Installer zip File
  2. Unzip the JobScheduler Universal Agent Batch Installer zip file.

  3. Download the JobScheduler Universal Agent installation file.
  4. Copy the content of the live folder to the live folder of your JobScheduler Master instance
  5. Copy the content of the folder batch_install to any folder (where the JobScheduler has permissions to access)
  6. 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
  7. Create the installer configuration file (see paragraph below Installer Configuration File
  8. Job AgentBatchInstaller: Adjust the parameter values for the Job AgentBatchInstaller in your JobScheduler Master
  9. Create the YADE settings file (see section below YADE profiles for the file transfer)

Example: 4 Agents and 2 Servers

The following example describes how to do the installation of two JobScheduler Universal Agents in two Servers, that is, one JobScheduler Universal Agent installed per Server. 

Anchor
installer_config_file
installer_config_file
Installer Configuration File

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:

Code Block
languagexml
titleInstaller Configuration File
collapsetrue
<?xml version="1.0" encoding="utfUTF-8" standalone="yes"?>
<installations lastRun="2015-11-1923 1712:11">
    <globals>
        <install_path>/opt</install_path>
        <transfer>
           <settings><![CDATA[c <settings>c:\tmp\agent_batch\yade_agent_batch_installer_settings.ini]]><ini</settings>
        </transfer>
    </globals>
  <installation lastRun="2015-11-19 17:11"> <ssh>
    <install_path><![CDATA[/opt/agent1]]></install_path>        <auth_method>password</auth_method>
    <agent_options>
        <scheduler_http_port>4445</scheduler_http_<port>22</port>
      <scheduler_user><![CDATA[test]]></scheduler_user>
   </ssh>
    </globals>
     <scheduler_log_dir><![CDATA[<installation lastRun="2015-11-23 11:11">
        <agent_options>
            <scheduler_user>test</scheduler_user>
            <scheduler_log_dir>/var/log/sos-berlin.com/jobscheduler/agent]]><agent</scheduler_log_dir>
        </agent_options>
        <ssh>
        <password><![CDATA[test]]></password>
    <user>test</user>
            <password>xxxx</password>
            <sudo_password><![CDATA[xxxx]]><password>xxxx</sudo_password>
      <auth_method><![CDATA[password]]></auth_method>
      <host><![CDATA[192<host>192.11.0.111]]><111</host>
       <port><![CDATA[22]]></port> </ssh>
    </ssh>
    <postprocessing>
            <command><![CDATA[echo<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><![CDATA[echo  <command>echo ${ssh.sudo_password} | sudo -S chkconfig jobscheduler_agent_${agent_options.scheduler_http_port}]]><</command>
        </postprocessing>
    </installation>
    <installation lastRun="2015-11-1923 1711:11">
    <install_path><![CDATA[/opt/agent2]]></install_path>
    <agent_options>
      <scheduler_      <scheduler_http_port>4446</scheduler_http_port>
            <scheduler_user><![CDATA[test2]]><user>sos</scheduler_user>
            <scheduler_log_dir><![CDATA[dir>/var/log/sos-berlin.com/jobscheduler/agent]]><agent</scheduler_log_dir>
        </agent_options>
        <ssh>
      <password><![CDATA[test]]></password>
      <sudo_password><![CDATA[xxxx]]></sudo_password>
<user>sos</user>
       <auth_method><![CDATA[password]]></auth_method>
     <password>xxxx</password>
            <sudo_password>xxxx</sudo_password>
            <host><![CDATA[192<host>192.11.0.111]]><111</host>
        <port><![CDATA[22]]></port></ssh>
    </ssh>
    <postprocessing>
      <command><![CDATA[echo $      <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><![CDATA[echo<command>echo ${ssh.sudo_password} | sudo -S chkconfig jobscheduler_agent_${agent_options.scheduler_http_port}]]><</command>
        </postprocessing>
    </installation>
    <installation lastRun="2015-11-1923 1711:11">
    <install_path><![CDATA[/opt/agent1/]]></install_path>
    <agent_options>
            <scheduler_http_port>4445<user>sos</scheduler_http_port>
user>
            <scheduler_user><![CDATA[sos]]></scheduler_user>
      <scheduler_log_dir><![CDATA[log_dir>/var/log/sos-berlin.com/jobscheduler/agent]]><agent</scheduler_log_dir>
        </agent_options>
        <ssh>
          <user><![CDATA[sos]]><  <user>sos</user>
         <password><![CDATA[xxxx]]><   <password>xxxx</password>
            <sudo_password><![CDATA[xxxx]]><password>xxxx</sudo_password>
      <auth_method><![CDATA[password]]></auth_method>
      <host><![CDATA[192<host>192.11.0.95]]><95</host>
        <port><![CDATA[22]]></port></ssh>
    </ssh>
    <postprocessing>
           <command><![CDATA[echo <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><![CDATA[echo       <command>echo ${ssh.sudo_password} | sudo -S chkconfig jobscheduler_agent_${agent_options.scheduler_http_port}]]><</command>
        </postprocessing>
    </installation>
    <installation lastRun="2015-11-1923 1711:11">
    <install_path><![CDATA[/opt/agent2]]></install_path>
    <agent_options>
            <scheduler_http_port>4446</scheduler_http_port>
            <scheduler_user><![CDATA[sos2]]><user>test</scheduler_user>
            <scheduler_log_dir><![CDATA[dir>/var/log/sos-berlin.com/jobscheduler/agent]]></agent</scheduler_log_dir>
        </agent_options>
        <ssh>
           <user><![CDATA[sos]]>< <user>sos</user>
          <password><![CDATA[xxxx]]><  <password>xxxx</password>
            <sudo_password><![CDATA[xxxx]]><password>xxxx</sudo_password>
      <auth_method><![CDATA[password]]></auth_method>
      <host><![CDATA[192.11<host>192.11.0.95]]><95</host>
      <port><![CDATA[22]]></port>  </ssh>
    </ssh>
    <postprocessing>
            <command><![CDATA[echo<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><![CDATA[echo  <command>echo ${ssh.sudo_password} | sudo -S chkconfig jobscheduler_agent_${agent_options.scheduler_http_port}]]><</command>
        </postprocessing>
	    </installation>
</installations>

 

Anchor
yade_profile_transfer
yade_profile_transfer
YADE profiles for the file transfer

Each installation makes use of a profile in the YADE settings file. The default profile name is <host>:<port> where

...

Code Block
languagexml
titleYADE Profiles
collapsetrue
 <?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[test]]></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[sos]]></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[sos]]></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[sos]]></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[test]]></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>
            <BasicConnection>
  <Selection>
        <Hostname><![CDATA[192.11.0.111]]></Hostname>
        </BasicConnection><FileSpecSelection>
        <SSHAuthentication>
          <Account><<FileSpec><![CDATA[test.*\.(sh|gz)$]]></Account>FileSpec>
          <AuthenticationMethodPassword>
            <Password><<Directory><![CDATA[xxxxC:\tmp\agent_batch]]></Password>
/Directory>
                </FileSpecSelection>
              </AuthenticationMethodPassword>Selection>
            </SSHAuthentication>SourceFileOptions>
          </SFTPFragment>CopySource>
      <SFTPFragment name="SFTP_192.11.0.95:4445">
   <CopyTarget>
     <BasicConnection>
       <CopyTargetFragmentRef>
   <Hostname><![CDATA[192.11.0.95]]></Hostname>
        </BasicConnection>
   <SFTPFragmentRef ref="SFTP_192.11.0.95:4445" />
   <SSHAuthentication>
          <Account><![CDATA[sos]]></Account></CopyTargetFragmentRef>
          <AuthenticationMethodPassword>
            <Password><<Directory><![CDATA[xxxx/home/sos/tmp/]]></Password>Directory>
          </AuthenticationMethodPassword>CopyTarget>
        </SSHAuthentication>Copy>
      </SFTPFragment>Operation>
    </ProtocolFragments>
  </Fragments>
  <Profiles>Profile>
    <Profile profile_id="192.11.0.11195:44454446">
      <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.11195:44454446" />
            </CopyTargetFragmentRef>
            <Directory><![CDATA[/home/test/tmp/]]></Directory>
          </CopyTarget>
        </Copy>
      </Operation>
    </Profile>
    <Profile profile_id="192.11.0.95111:44454448">
      <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.95111:44454448" />
            </CopyTargetFragmentRef>
            <Directory><![CDATA[/home/sostest/tmp/]]></Directory>
          </CopyTarget>
        </Copy>
      </Operation>
    </Profile>
  </Profiles>
</Configurations>

...

  • 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
        titleINI file
        collapsetrue
        [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                                = sos
        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: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/test2/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: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/sos2/tmp/

Anchor
xml_editor
xml_editor
Using the XML Editor

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.

...