Versions Compared

Key

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

Table of Contents

Installing the JS7 Agent

Prerequisites

Preparation

  • Download the Agent archive for the target system from the JobScheduler Download page.
    • For Unix systems:
      • A tarball archive is available that can be extracted to create the Agent's directory structure (see below).
    • For Windows systems:
      • A .zip archive is available that can be extracted to create the Agent's directory structure (see below)

Installation

    • Unzip the downloaded archive file to an arbitrary directory.
    • The resulting directory structure includes (only files and folders immediately relevant):
      • bin
      • lib
        • The directory for Java libraries.
      • var_4445
      • service (for Windows)
    • On Windows Systems:
      • You have to change the directory permissions for the .\logs and .\service directories if you extracted the Agent to e.g. C:\Program Files.
        • This step is not required if you extracted the Agent to e.g. C:\ProgamData.
        • Start a command prompt with elevated administrative rights and type e.g.

          Code Block
          languagebash
          titleset full acces for "Users" on .\service and .\logs directory
          cd "path\to\Agent installation"
          icacls "service" /L /grant *S-1-5-32-545:(OI)(CI)F
          icacls "logs" /L /grant *S-1-5-32-545:(OI)(CI)F 
    • If multiple instances are configured then every instance must have its own ./var_4445 data directory (e.g. ./var_<port of the instance>)

Updating an Agent

The update to the JS7 Agent is performed from the same download archive as used for any fresh installation:

  • js7_agent_windows.x.x.x.zip for windows
  • js7_agent_unix.x.x.x.tar.gz for Linux

Preparation

  • Stop the JS7 Agent instance.
  • Prepare to rollback in case that the update of the JS7 Agent is not successful:
    • Create a .tar.gz/.zip archive for the
      • Installation Directory:
        • The default installation paths for the Agent are:
          • /opt/sos-berlin.com/js7/agent on Linux systems and

          • C:\Program Files\sos-berlin.com\js7\agent on Windows.
      • Configuration Directory
        • The default configuration paths for the Agent are:
          • /home/sos/sos-berlin.com/js7/agent_<port> on Linux systems and 
          • C:\ProgramData\sos-berlin.com\js7\agent_<port> on Windows.
  • Take a Backup of the above archives created.

Note: For Linux environments taking the backup of the directories and extracting them at the time of rollback is sufficient, however, in case of Windows it is also required to re-install the service of the Agent.

Update

Installer Options 

  • When the Agent was previously installed it added the agent_install.xml file that includes parameters such as the installation path, ports, etc.
    • The default location of the agent_install.xml file is:
      • /opt/sos-berlin.com/js7/agent on Linux systems and

      • C:\Program Files\sos-berlin.com\js7\agent on Windows.
  • The agent_install.xml file is explained with the code listing below. The extensive comments are intended to be self-explanatory.  

    Code Block
    languagexml
    titleConfiguration of the agent_install.xml file
    linenumberstrue
    collapsetrue
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <!-- 
    XML configuration file for JS7 Agent
    
    If you call the installer with this XML file then 
    you accept at the same time the terms of the 
    SOS GmbH freeware license agreement; see  
    http://www.sos-berlin.com/freeware-license-agreement
    -->
    <AutomatedInstallation langpack="eng">
        <com.izforge.izpack.panels.UserInputPanel id="home">
            <userInput/>
        </com.izforge.izpack.panels.UserInputPanel>
        <com.izforge.izpack.panels.HTMLLicencePanel id="license"/>
        <com.izforge.izpack.panels.TargetPanel id="target">
            
            <!-- SELECT THE INSTALLATION PATH
                 It must be absolute!
                 For example C:\Program Files\sos-berlin.com\js7\agent -->
            <installpath>C:\Program Files\sos-berlin.com\js7\agent</installpath>
            
        </com.izforge.izpack.panels.TargetPanel>
        <com.izforge.izpack.panels.UserInputPanel id="network">
    		<userInput>
    						
    			<!-- HTTP port of the JS7 Agent -->
    			<entry key="agentPort" value="4445"/>
    			<!-- Set optionally an ip address or hostname. It could be used for indicating which network 
    				 interfaces the JS7 Agent should listen to when using HTTP. If it is 
                     empty then it listens to all available network interfaces. -->
                <entry key="agentHost" value=""/>
                <!-- Launch the JS7 Agent after installation? (yes|no) -->
                <entry key="launchAgent" value="yes"/>
                <!-- The JS7 Agent will be installed as Windows service. You can set the 
                     service account otherwise the local system account will be used. The account has to be 
                     the form 'Domain\User'. -->
    			<entry key="serviceAccount" value=""/>
                <entry key="servicePassword" value=""/>
                
    		</userInput>
    	</com.izforge.izpack.panels.UserInputPanel>
        <com.izforge.izpack.panels.UserPathPanel id="userpath">
            
            <!-- SELECT THE DIRECTORY FOR CONFIGURATION AND LOG FILES
                 This directory has to be unique for each JS7 Agent instance.
                 The path must be absolute!
                 Default path is
                 C:\ProgramData\sos-berlin.com\js7\agent_%agentPort%
                 where %agentPort% is the value from above entry 'agentPort' -->
            <UserPathPanelElement>C:\ProgramData\sos-berlin.com\js7\agent_4445</UserPathPanelElement>
            
        </com.izforge.izpack.panels.UserPathPanel>
        <com.izforge.izpack.panels.UserInputPanel id="environment">
            <userInput>
    
                <!-- Directory where the JS7 Agent's log files are stored (default: 
                     '[above user path]\logs'). -->
                <entry key="logPath" value=""/>
                <!-- Directory where the JS7 Agent's pid file is stored (default: 
                     above log path). -->
                <entry key="pidFilePath" value=""/>
                <!-- Working directory for all jobs which started by the JS7 Agent
                     e.g. %USERPROFILE% (default: [installation path]) -->
                <entry key="workPath" value=""/>
                <!-- The JS7 Agent requires a Java JRE at least version '1.8'. You can choose 
                     a different Java environment than the Java which is used during this installation. -->
                <entry key="javaOptions" value=""/>
                <!-- Set optionally Java options (default: -Xms100m). -->
                <entry key="javaHome" value=""/>
                
            </userInput>
        </com.izforge.izpack.panels.UserInputPanel>
        <com.izforge.izpack.panels.UserInputPanel id="end">
            <userInput/>
        </com.izforge.izpack.panels.UserInputPanel>
        <com.izforge.izpack.panels.InstallPanel id="install"/>
        <com.izforge.izpack.panels.ProcessPanel id="process"/>
        <com.izforge.izpack.panels.FinishPanel id="finish"/>
    </AutomatedInstallation>

Running the Installer

  • Install the JS7 Agent on Linux systems for the root user:

    Code Block
    languagetext
    titleRunning the installer of JS7 Agent on Linux systems with root permissions
    /tmp/agent.[release]> ./setup.sh agent_install.xml
  • Installer of the JS7 Agent on Linux systems for the current user:

    Code Block
    languagetext
    titleRunning the installer of JS7 Agent on Linux systems without root permissions
    /tmp/agent.[release]> ./setup.sh -u agent_install.xml
  • Running the installer of JS7 Agent on Windows systems

    Code Block
    languagetext
    titleRunning the installer of JS7 Agent on Windows systems
    C:\temp\agent.[release]> setup.cmd agent_install.xml

Rollback

To perform a rollback there are different steps to be followed for Windows and Linux.

Rollback JS7 Agent Instance on Windows

  • To perform the rollback of a JS7 Agent instance run the uninstaller from the command line.
    • The default location of the uninstall.cm|sh file is:
      • C:\Program Files\sos-berlin.com\js7\agent\Uninstaller on Windows.
  • Restore the folders from the backup by unzipping the .tar.gz/.zip archive for the installation directory and configuration directory to the respective location.
  • Re-Install the windows service from the command line:
    • Switch to the ./bin directory for the Agent from the command line
      • The default location of the ./bin directory is:
        • C:\Program Files\sos-berlin.com\js7\agent\bin on Windows.

    • Run the below command. This command installs the Agent's Windows Service. 

      agent.cmd install-service [-http-port=<number>] [-ip-address=<hostname or ip address>]

Rollback JS7 Agent Instance on Linux

  • To perform JS7 Agent instance rollback on Linux remove the newly created Installation and the configuration directory of the JS7 Agent.
  • Restore the folders from the backup by unzipping the .tar.gz archive for the installation directory and configuration directory to the respective location.

Installation Log

The installer creates a log file in the directory that is pointed to by the environment variable JS7_AGENT_LOGS or in the logs subdirectory of the Agent configuration directory.

...

  • For further references about the logging refer to the complete overview of log files JS7 - Logging

Automated Start-up and Shutdown

For Unix systems, the start-up and shutdown configurations apply that are executed by root, e.g. in /etc/init.d or corresponding locations and by systemd.

...

For Windows systems, the start-up of the Agent by installing it as a Windows Service is recommended.

Further References

...