You are on page 1of 99

R15

Installation Guide

Version: 15.0

Quadient group

© 2022 Quadient group https://www.quadient.com/documentation


Inspire Scaler R15

Installation Guide
Product version: 15.0

Document version: 15.0.0.10

Release date: June 2022

Quadient group

www.quadient.com

This document was generated on 2022-06-24 and may not be the latest version. As we continuously update and improve our documents,
please visit Quadient University and ensure that you have the latest version. You will also find more samples, articles, discussions and
documentation about all of our Inspire products there.

Should you have any queries, suggestions or comments concerning these materials, please do not hesitate to contact us at
documentation@quadient.com.

Multiple sites of the Quadient group of companies hold certificates to ISO 9001, ISO 27001 and ISO 14001.

Legal Disclaimers and Copyright

Information contained within this document may contain technical inaccuracies or typographical errors. Changes will be added periodically
and modifications will be made thereto without prior notification. Quadient does not enter into any obligations or responsibilities regarding
the content of this document and does not assume any legal liability – neither expressed or implied – for its accuracy, completeness and/or
usefulness.

This document may contain links to third-party web sites. These links are solely provided as a convenience and not as an endorsement by
Quadient of the contents found on those third-party web sites. Quadient is not responsible for the content of linked third-party sites and
does not guarantee the accuracy of materials found on them. Quadient does not endorse any products presented on third-party websites.
If you decide to access any linked third-party web sites, you do so at your own risk.

Copying of the software or manual on to any data storage medium or in any other way, except for explicit company internal use, is strictly
forbidden without the prior written authorization of Quadient. Failure to comply with these restrictions is liable to prosecution.

Trademarks

Quadient® and its logo are trademarks of Quadient group.

Adobe® and Adobe PDF Library™ are trademarks or registered trademarks of Adobe Systems Inc. in the US and other countries. The names,
logos and international property rights of other companies regarding products and services remain the property of their respective owners.
Table of Contents
1 Deployment 1

2 Requirements 3
2.1 Hardware and Software Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.1 CPU Arithmetic Benchmark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Licensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.1 Cloud Licensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.2 Net Licensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.3 Demo Licensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Installer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4 Access Rights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.5 Further Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5.1 Server Time Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5.2 Java SE Development Kit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5.3 Inspire Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.5.4 Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.5.5 Maximum Transmission Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3 Installation 17
3.1 Single Node Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.1.1 GUI Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1.2 CLI Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.1.3 Silent Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.1.4 Script Based Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.2 Cluster Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.2.1 Inspire Content Manager Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.2.2 Cluster Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.2.3 Shared Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.2.4 HTTP Load balancer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.2.5 Node High-Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.3 Multi Cluster Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.3.1 Multi Cluster Installation Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.3.2 Creating Scaler's Multi Cluster Database Structure . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.4 Stateless Architecture Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.4.1 Inspire Content Manager Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.4.2 Metrics API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.4.3 Stateless Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.4.4 Shared Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.4.5 Load Balancer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.5 Automated Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

4 Post Installation Steps 67


4.1 Running Scaler and Scenario Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.2 Securing Scaler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.3 Checking Production Readiness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.4 Configuring Program and JVM Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.5 Allocating System Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.6 Configuring Single Sign-On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Inspire Scaler | iv

4.7 Configuring JMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77


4.8 Configuring Data Retention Periods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.9 Configuring HTTPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.10 Configuring IPS Load Balancing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.11 Adding IPS Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

5 Upgrade 80
5.1 Upgrading from Previous Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.1.1 Upgrading Using GUI Installer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.1.2 Upgrading Using CLI Installer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.1.3 Upgrading Using Silent Installer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.1.4 Upgrading Using Zero Touch Installer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.2 Upgrading Database Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.3 Adjusting Database Socket Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.4 Upgrading External Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.5 Removing Java Security Manager from Scaler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

6 Troubleshooting 89
6.1 Scaler Windows Service Fails to Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6.2 Unavailable ICM Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6.3 Login Issues Immediately After Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6.4 Unfunctional Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6.5 Licensing Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6.6 Unexpected Login Prompt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
6.7 Scaler Fails to Write Job Data to Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

7 Uninstallation 93
7.1 Uninstalling Inspire Scaler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
7.2 Uninstalling Nodes No Longer Required in Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
7.3 Uninstalling Clusters No Longer Required in Multi Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . 95
1 Deployment
1 Deployment | 2

Inspire Scaler is Inspire's cloud-enabled automation component. See the document Inspire: An Overview for
an introduction to the functionality of Scaler and how it fits into the Inspire Solution.

Client Application

JSON/XML Inspire Scaler

Output Document
2 Requirements

2.1 Hardware and Software Requirements


2.2 Licensing
2.3 Installer
2.4 Access Rights
2.5 Further Requirements
2 Requirements | 4
2.1 Hardware and Software Requirements

2.1 Hardware and Software Requirements


The Inspire solution supports a wide range of platforms on which it can be installed and its outputs viewed. See
the separate Supported Platforms for Inspire Flex document for a complete list of Application Requirements and
Supported Inputs and Outputs for Inspire Scaler .

NOTE

● The use of some features may be limited in Internet Explorer. Consider using another supported
browser.

● The recommended resolution for working with Scaler is 1920x1080 px. Using a lower resolution
may reduce the readability of Scaler's user interface.

TIP See the CPU Arithmetic Benchmark section for help deciding on the hardware for your Inspire Scaler
installation.

2.1.1 CPU Arithmetic Benchmark


The following table shows how long it takes Inspire Scaler to process a specific set of arithmetic and floating
point instructions using various CPUs. This can be useful when deciding on hardware for your Inspire Scaler in-
stallation:

Reference CPU Benchmark Duration

Intel(R) XeonE5-46200 CPU @ 2.20GHz 2911 ms

Intel(R) Core(TM) i7-8700 CPU 1579 ms

Intel(R) IntelCorei7-3770 CPU @ 3.40GHz 2159 ms

Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz 4927 ms

Intel(R) Xeon Silver 4110 CPU @ 2.10GHz 2719 ms

Intel XEON CPU E5-2430 @ 2.20 GHz 3234 ms

Intel Xeon Silver 4110 CPU @ 2.10GHz 2702 ms

How to Benchmark Your System


Once you have installed Inspire Scaler, you can perform your own CPU benchmark test:

1. In Inspire Scaler, go to ADMINISTRATION | System Monitoring | System Info.

2. Click on DOWNLOAD SYSTEM INFO.


2 Requirements | 5
2.2 Licensing

NOTE Clicking on this button triggers the arithmetic and floating point test.

The results of the test are enclosed within the downloaded package.

3. Unpack the downloaded package.

4. Open the benchmark.txt file.

5. Locate the Duration field whose value is the test result.

2.2 Licensing
You need a license from Quadient Support before you can install Inspire Scaler.

Inspire Scaler can be licensed using one of these methods:

● Cloud Licensing

● Net licensing

● Demo licensing

The Licenses: An Introduction document presents the controls and architecture used by licenses, such as license
types and deployment environments. Such information can be useful when requesting a license from Quadient.

TIP If you experience licensing issues on UNIX based systems, try the solution in the Troubleshooting
section.

2.2.1 Cloud Licensing


Checks the validity of the installation via Quadient Cloud using an Activation Key.

Your entitlement, represented by an initial activation key, is provided by Quadient (to a designated individual) for
all verified installations. Additional keys are then self-managed by you (or another assigned administrator) via
Quadient Cloud.

For more information, see the Entitlements and Reports section in Quadient Cloud Administration Guide.

Applying an Activation Key


To apply your activation key to Scaler, you must configure the following environment variables for your operating
system:

● CX_LIC_SERVER – Defines the value of your activation key.

● CX_LICENSE – Defines the licensing method. For cloud licensing, it must be set to CL.
2 Requirements | 6
2.2 Licensing

EXAMPLE
The following image is an example of cloud licensing environment variables configured for Windows:

2.2.2 Net Licensing


Net licensing uses the ls.lic license files placed in directories around Inspire License Manager.

Install Inspire License Manager (on a server or on a local computer) before installing Inspire Scaler. See the Inspire
License Manager Installation Guide (Windows version or Linux version ).

NOTE If Inspire License Manager is already installed on your system, make sure the CX_LICENSE and
CX_LIC_SERVER environmental variables are configured.

Forcing Different License Manager Settings


Inspire Scaler is licensed using an Inspire License Manager server that is accessed through these environment
variables: CX_LICENSE and CX_LIC_SERVER.

When running multiple Inspire components on one machine, you may need to force Inspire Scaler to use a different
Inspire License Manager server for its license:

Windows

1. After the installation, open the configuration of the <Inspire_Scaler_installation_directory>\bin\cus-


tom_config.bat file.

2. Place the following parameters inside the file:


2 Requirements | 7
2.3 Installer

set CX_LICENSE=<method>
set CX_LIC_SERVER=<host1>
set CX_LIC_SERVER2=<host2>

3. Replace the following placeholders with the actual values to access your license server: <method>,
<host1>, and <host2>.

Unix

1. After the installation, open the configuration of the <Inspire_Scaler_installation_directory>\bin\cus-


tom_config.sh file.

2. Place the following parameters inside the file:

export CX_LICENSE=<method>
export CX_LIC_SERVER=<host1>
export CX_LIC_SERVER2=<host2>

3. Replace the following placeholders with the actual values to access your license server: <method>,
<host1>, and <host2>.

NOTE We recommend that you license Inspire Scaler and Inspire Production Server using the same Inspire
License Manager server. Without this, you lose the option to turn on encrypted communication between
the two components.

2.2.3 Demo Licensing


If you wish to get acquainted with Inspire Scaler, you can also use a demo software license.

2.3 Installer
To install Inspire Scaler, you need the following installers:

Inspire Scaler

File Name Download Link

InstallerPackage-InspireScaler-<version>-Uni- Quadient University .


versal.zip
2 Requirements | 8
2.4 Access Rights

Inspire Designer The installer of Inspire Designer installs Inspire Content Manager and Inspire Production
Server:

File Name Download Link

Inspire-Designer-<version>.exe Quadient University .

Java Development Kit See the Supported Platforms for Inspire Flex document to learn about the supported
Java 11 distributions.

2.4 Access Rights


The user running the Inspire Scaler service must have specific permissions to the following directories:

Directory Permissions

Inspire Scaler installation directory. write, read, execute

Inspire Designer working directory, i.e. its installation directory by default. write

Your operating system's temporary directory: write, read, execute

● %USERPROFILE%\AppData\Local\temp (Windows)

● /tmp (Unix based OS)

Shared Storage write, read, execute

WARNING To avoid compromising the security of your solution, do not grant the user any other access
rights. If you do, ensure you only grant them the access rights necessary for your Scaler solution to process
jobs.

TIP You can change the temporary directory. See the Temporary Directory section of Inspire Scaler
User Manual.

Accessing Mapped Network Drives


When Scaler is installed as a Windows service, mapped network drives are not available. That applies regardless
of whether the user is running the same account as the user currently logged in because a service only runs under
the 'user credentials', but is not logged in.

To access a mapped network drive (e.g. to use it as a shared storage), you have these options:

● Use a Universal Naming Convention (UNC) path directly.

● Use a symbolic link (mklink ) to a UNC path.


2 Requirements | 9
2.5 Further Requirements

2.5 Further Requirements


Before installing Inspire Scaler, prepare these prerequisites:

● Server Time Synchronization

● Java SE Development Kit

● Inspire Designer

● Database

● Maximum Transmission Unit

NOTE If you intend to install Inspire Scaler as a cluster solution, all the prerequisites (except for the
database) must be prepared for each machine on which the individual nodes will be running.

2.5.1 Server Time Synchronization


To prevent your system from malfunctioning, the time on all your servers (if you work in a cluster) must be syn-
chronized and running in the same time zone.

2.5.2 Java SE Development Kit


You can obtain the jdk-<version>.exe installer file from the Oracle website.

For Inspire Scaler, use the latest version of JAVA 11. For the supported Java distributions, see the separate docu-
ment Supported Platforms for Inspire Flex .

NOTE If you intend to install a cluster, use the same Java versions across all the cluster nodes.

Java Environment Variable


With your JAVA installation, ensure that your operating system is configured completely:

● The JAVA_HOME environment variable must exist in your operating system.

● The value of the JAVA_HOME variable must be set to the location of the correct JAVA version. For example:
C:\Program Files\Java\jdk11.0.4_10.

CAUTION Without the JAVA_HOME variable, the installation of Inspire Scaler will not work.
2 Requirements | 10
2.5 Further Requirements

2.5.3 Inspire Designer


Inspire Designer must be installed because Scaler requires its components to be fully operable:

Inspire Content Manager (ICM)

● It stores all Inspire Scaler workflows, custom modules, and scripting libraries in a folder structure
automatically created by the installation.

● Tool for managing Scaler users.

● In cluster solutions, several ICM deployment types are supported. See Cluster Installation for more
information.

Inspire Production Server

● Processor that Scaler uses to generate outputs.

● In cluster solutions, it must be installed locally with each Inspire Scaler node.

NOTE Scaler cannot work with IPS instances that use the -runforweb command.

When integrating Scaler with applications (e.g. Inspire Interactive) that may require the -runforweb
command, install a different IPS instance for each application.

Inspire Designer Documentation

● Inspire Designer Installation Guide – Learn how to install Inspire Designer for demo purposes.

● To learn about the advanced configuration options that you may need in production environments, see
the following sections of the Inspire Designer User Manual:

○ ICM Server Commands

○ Starting Production Server

2.5.4 Database
1. Select one of the supported database types.

2. Ensure your database makes enough database connections available for your Inspire Scaler solution.

3. Choose how to create the database structure necessary for Scaler's operation:

Automatically To let Scaler create the database structure automatically under the database user defined
in the installer, you must create a blank database to be populated automatically during the installation.

Manually Your security policies may not allow third-party applications to run with a user that has elevated
rights to your database management system. As such, you may need the ability to create the database
structure manually with a database user of your choice.

Depending on your Scaler solution, the corresponding installation section will guide you through
manually creating the database structure.
2 Requirements | 11
2.5 Further Requirements

If you wish to automate the database structure creation with a database user of your choice, learn
how to obtain the necessary SQL scripts using Docker® in the Obtaining SQL Scripts section.

4. Set the database character encoding to UTF-8.

5. Make sure the database user is granted the necessary database rights.

6. Consider setting up your own system for managing the growth of your database. See Configuring Data
Retention Period.

WARNING To prevent your system from malfunctioning:

● Avoid making any changes to the database schema upon installation.

● Do not use Scaler's system database for any Scaler features that require a database (use separate
databases instead), for example:

○ Custom Databases

○ Data Recording

TIP See the Inspire Scaler User Manual to learn how to configure or modify the database connection
settings in the application.properties file.

Supported Database Types


Database Type Notes

MSSQL ● Inspire Scaler can only run on the default (dbo) database schema.

● See MSSQL Authentication Library if you intend to use this type of database with
Windows authentication.

MySQL ● Before installing Inspire Scaler with this type of database, you must place the JDBC
driver into the <InstallerPackage-InspireScaler>\lib-ext folder.

● If your MySQL server is running on a non-English system, the MySQL server must
not use the system timezone to prevent the installation from failing due to unrecog-
nized timezone.

Oracle To avoid network outages, for the Oracle database:

1. Open the SQLNET.ORA file.

2. Set the SQLNET.EXPIRE_TIME parameter to a value greater than 0.

PostgreSQL Inspire Scaler can only run on the default database schema.
2 Requirements | 12
2.5 Further Requirements

MSSQL Authentication Library


This section describes an additional requirement for Scaler installations using the MSSQL database with Windows
authentication.

To be compliant with Quadient licenses, Inspire Scaler is not distributed with an embedded authentication library
for MSSQL. It must be provided manually:

1. Check the required MSSQL driver version on the Database Connection step inside Scaler's GUI installer.

EXAMPLE
Here is an example of the required version displayed in the installer for the 15.2 FMAP release. The
required version may be different for other releases:

2. Download the correct driver version from https://docs.microsoft.com/en-us/sql/connect/jdbc/


microsoft-jdbc-driver-for-sql-server?view=sql-server-ver15 .

3. Depending on the architecture of your OS, open one of these folders inside the downloaded archive:

64-bit sqljdbc_<version>\enu\auth\x64

32-bit sqljdbc_<version>\enu\auth\x86

4. Copy the mssql-jdbc_auth-<version>.x64.dll or mssql-jdbc_auth-<version>.x86.dll library.

5. Paste it into the <InstallerPackage-InspireScaler>\lib-ext folder before you run Scaler's installer.

6. Run Scaler's installer.

NOTE When Scaler is installed with a manually provided authentication library, the following Scaler
features can also use it:

● Custom Databases

● Data Recording

Database Connections
Different types of databases may, by default, limit the number of available database connections. Keep this in
mind when configuring a cluster solution, in which the number of connections needed by Inspire Scaler is multiplied
by the number of cluster nodes.

To see the default number of database connections that Inspire Scaler opens and to learn how to adjust this
number, see the Inspire Scaler User Manual .
2 Requirements | 13
2.5 Further Requirements

Obtaining SQL Scripts


This section describes how to obtain SQL scripts to manually create Scaler's database structure using Docker® .

This is useful if you intend to automate Scaler's deployment:

1. Build a Scaler Docker® image.

See the Building Docker® Images section of the Deployment of Inspire Flex Using Azure Kubernetes
Service document.

2. Configure the environment variables necessary for running a setup Docker® container:

a) Unzip the InstallerPackage-InspireScaler-<version>-Universal.zip package.

b) Open the docker/env-config.list file and configure its settings:

● Uncomment the EXPORT_SQL_SCRIPTS setting and set its value to true.

This ensures that the structure is not created by the container in the target database and that
the SQL scripts are generated.

● Configure the other settings by following the instructions in the file.

3. Run one of the following Docker® container types (based on your needs) to be able to extract the SQL
scripts from the container:

● Run a setup container for new installations using this command:

Pattern

docker run -e TYPE=setup --env-file ./docker/env-config.list <image_name>:<image_tag>

Example

docker run -e TYPE=setup --env-file ./docker/env-config.list scaler:latest

● Run an upgrade container for upgrade installations using this command:

Pattern

docker run -e TYPE=upgrade --env-file ./docker/env-config.list <image_name>:<im→


age_tag>

Example

docker run -e TYPE=upgrade --env-file ./docker/env-config.list scaler:latest


2 Requirements | 14
2.5 Further Requirements

NOTE The container will configure the defined instance of ICM.

4. Extract the SQL scripts from the container using this command:

Pattern

docker cp <container_ID>:<script_source_path> <script_destination_path>

Example

docker cp 5da4077272c9:/opt/Quadient/Inspire-Scaler/config/sql /root/Documents/Scripts/

Minimum Database User Rights

CAUTION

● Only ever prepare one user for both the installation and the runtime of Inspire Scaler. When
switching to runtime, downgrade the user's rights.

● Do not grant the database user any other rights than the ones listed in this section.

Redundant rights make Scaler perform unnecessary operations while starting. Scaler may fail to
start if it misses its time period dedicated for starting.

MSSQL

Installation / Upgrade

● User rights for the used schema:

ALTER, CREATE SEQUENCE, DELETE,


INSERT, REFERENCES, SELECT, UPDATE

● User rights for the used database:

CONNECT, CREATE TABLE, DELETE, INSERT, SELECT, UPDATE

Runtime

● User rights for the used schema:


2 Requirements | 15
2.5 Further Requirements

DELETE, INSERT, SELECT, UPDATE

● User rights for the used database:

CONNECT, DELETE, INSERT, SELECT, UPDATE

MySQL

Installation / Upgrade

ALTER, CREATE, DELETE, DROP, INDEX,


INSERT, REFERENCES, SELECT, UPDATE

Runtime

DELETE, INSERT, SELECT, UPDATE

Oracle
Do not forget about the caution notes described above the table of database rights. They are especially important
for Oracle databases.

Installation / Upgrade Rights must be applied to the user's schema:

CREATE SEQUENCE, CREATE SESSION, CREATE TABLE, UNLIMITED TABLESPACE

Runtime Rights must be applied to the user's schema:

CREATE SESSION, UNLIMITED TABLESPACE

PostgreSQL

Installation / Upgrade

● Database:

CONNECT

● Schema:

CREATE, USAGE

Runtime

● Database:
2 Requirements | 16
2.5 Further Requirements

CONNECT

● Schema:

USAGE

● All tables in the schema:

DELETE, INSERT, REFERENCES, SELECT, UPDATE

● All sequences in the schema:

SELECT, UPDATE, USAGE

2.5.5 Maximum Transmission Unit


A maximum transmission unit (MTU) is the largest packet or frame size, specified in octets (eight-bit bytes) that
can be sent in a packet or frame-based network such as the internet. The internet's transmission control protocol
(TCP) uses the MTU to determine the maximum size of each packet in any transmission.

Check the configured MTU value of your operating system and adjust it to suit your expected Scaler production
volume.
3 Installation

3.1 Single Node Installation


3.2 Cluster Installation
3.3 Multi Cluster Installation
3.4 Stateless Architecture Installation
3.5 Automated Deployment
3 Installation | 18
3.1 Single Node Installation

Based on your production environments, install one of these Inspire Scaler solutions:

● Single Node

● Cluster

● Multi Cluster

● Stateless Architecture

TIP To learn about the details of each solution, see the Architecture chapter of Inspire Scaler User
Manual.

3.1 Single Node Installation


A single node is a solution suitable for low volume workloads, presentation purposes or for cases where high
availability solutions are not required.

Client (Hot Folder / JMS / HTTP)

Node

Inspire
Inspire Scaler
Content Manager

Inspire Inspire
Production Server License Manager

Database Shared Storage

Use one of the following methods to install one Scaler node:

● GUI Installation

● CLI Installation

● Silent Installation

● Script Based Deployment

IMPORTANT The silent installation method allows you to install Scaler with several features that the
other installation types cannot install.
3 Installation | 19
3.1 Single Node Installation

3.1.1 GUI Installation


1. Unpack the InstallerPackage-InspireScaler-<version>-Universal.zip package.

2. Run one of these files as an administrator to start the installation:

● install.bat — For Windows operating systems.

● install.sh — For Unix based operating systems.

3. Go through the GUI installer steps:

a) Introduction

b) Prerequisites

c) License Agreement

d) Installation Type

e) Licensing Type

f) Database Connection

g) Deployment Type

h) Inspire Scaler Server

i) Inspire Content Manager

j) Inspire Production Server

k) Scenario Engine

l) Scenario Engine Database Connection

m) Installation Summary

n) Finish

4. Run Inspire Scaler.


3 Installation | 20
3.1 Single Node Installation

3.1.1.1 Introduction

This step welcomes you to the installation wizard.

It allows you to select the preferred language of the installation. The available languages are: English, German,
French, Spanish and Italian.

3.1.1.2 Prerequisites

This step reminds you to check that you have installed all the required prerequisites.

3.1.1.3 License Agreement


This step requires you to accept the end user license agreement. Do that by selecting the I accept the terms of
the License Agreement option.
3 Installation | 21
3.1 Single Node Installation

3.1.1.4 Installation Type

This step allows you to select an installation type:

1. Select Create a new installation.

2. Use the Path setting to define the path Scaler's installation directory.

NOTE

● Inspire Scaler users must have write permissions to the defined directory.

● The path to the selected directory and its name must not contain national characters or an exclam-
ation mark.
3 Installation | 22
3.1 Single Node Installation

3.1.1.5 Licensing Type

This step selects a license type.

TIP See the Licensing section for more information.


3 Installation | 23
3.1 Single Node Installation

3.1.1.6 Database Connection

This step defines the connection to Scaler's database:

1. Use the Database setting to select your type of database.

2. Configure the related connection settings.

3. See the Creating Scaler's Database Structure section to learn about the usage of the Create database
structure manually check box.

4. Click on Test Connection to verify that the database connection is valid.


3 Installation | 24
3.1 Single Node Installation

Database Connection Settings

MSSQL / Oracle / MySQL / PostgreSQL

Settings Description

Set connection by
a Selects a method to configure the database connection settings:

● Connection parameters – The database connection is configured using a


set of essential parameters (e.g. Host and Port).

● Connection string – The database connection is configured using a custom


connection string. This allows you to customize the database connection
beyond what the Connection parameters method provides.

This is the only method that supports the Azure Active Directory authen-
tication for an MSSQL database running in Microsoft Azure. Learn how to
configure it in the Configuring Azure Active Directory Authentication for
MSSQL section.

Connection string Defines a custom connection string (JDBC) to configure the database connection.

See Connection String Examples.

WARNING Because the connection string is saved in plain text after the
installation of Scaler, do not include the database credentials in the con-
nection string. Use the User name / Password fields instead.

Host / Port
a Define the connection to the server that runs the database.

Database name
bcd Defines the name of the database to be used.

Connection type
be MSSQL Selects whether to connect via Port or Instance name.

NOTE If you leave the selected option (Port or Instance name) empty,
the default MSSQL port 1433 is used.

Oracle Selects whether to connect via SID or Service name.

Authentication Selects a database authentication method:


be
method
MSSQL

● Windows Authenticationf – Credentials of the Windows user who


runs the Scaler process are used.
3 Installation | 25
3.1 Single Node Installation

Settings Description

You must manually provide the MSSQL authentication library.

● User name and password – Credentials of the database owner are


required.

Oracle

● User name and password – Credentials of the database owner are


required.

● Kerberos authenticationf – See the Kerberos Authentication section.

User name / Pass- Define the database owner's credentials.


a
word

a
Applicable to all databases.
b
Applicable to MSSQL.
c
Applicable to MySQL.
d
Applicable to PostgreSQL.
e
Applicable to Oracle.
f
This method is only supported for Windows operating systems.

NOTE

● To be able to connect to your MSSQL database via a port, ensure that the TCP/IP protocol is
enabled for your database, and that each IP address of your database server is assigned a
static port.

● If IntegratedSecurity=true (Windows authentication) is used in a custom connection string


for MSSQL while the User name and Password fields are configured in the installer, Windows
authentication configured in the connection string takes precedence.

WARNING If you use Windows Authentication, you expose yourself to unauthorized scripting access
to the sensitive data in the main Scaler database. This is because, for example, your own workflow
developer could connect to the main database using Custom Databases .

HSQLDB An embedded database suitable for testing/demo purposes.

IMPORTANT

● Due to the in-memory structure that this database uses, only one instance of Inspire Scaler
can run on this database at any one time.

● By default, Scaler's instance of HSQLDB runs on the port 9101. If you run any other Inspire
components on the HSQLDB database, the components may collide.
3 Installation | 26
3.1 Single Node Installation

Connection String Examples

Here is a list of the default connection strings that Inspire Scaler is installed with if the Connection parameters
option is selected:

HSQLDB

jdbc:hsqldb:hsql://<host>:<port>/<database_name>

MSSQL

jdbc:sqlserver://<host>:<port>;databaseName=<database_name>;encrypt=true;trustServerCertific→
ate=true

Oracle

● For SID:

jdbc:oracle:thin:@<host>:<port>:<sid>

● For service names:

jdbc:oracle:thin:@//<host>:<port>/<service_name>

MySQL

jdbc:mysql://<host>:<port>/<database_name>?useUnicode=true&characterEncod→
ing=UTF-8&useSSL=true&verifyServerCertificate=false

PostgreSQL

jdbc:postgresql://<host>:<port>/<database_name>?sslmode=prefer&amp;sslfactory=org.postgr→
esql.ssl.NonValidatingFactory

Creating Scaler's Database Structure

This section describes the usage of the Create database structure manually check box available in the Database
Connection installer step.

Your security policies may not allow third-party applications to run with a user that has elevated rights to your
database management system. As such, you may need the ability to create the database structure (necessary
for Scaler to operate) manually with a database user of your choice.
3 Installation | 27
3.1 Single Node Installation

Scaler's installer lets you choose the method for creating the database structure:

● Automatic creation

● Manual creation

Automatic Creation
To let Scaler create the database structure automatically under the database user defined in the installer, leave
the Create database structure manually check box unchecked.

Manual Creation
To create the database structure manually under a database user of your choice:

1. Check the Create database structure manually check box.

2. Finish the Scaler installation as usual.

3. Do not run Scaler yet.

4. Go to the config/sql folder in Scaler's installation directory.

5. Get the generated SQL script and execute it in the database that you defined while installing Scaler:

Database Type File Name

MSSQL createMSSQL.sql

Oracle createOracle.sql

PostgreSQL createPostgreSQL.sql

MySQL createMySQL.sql

6. Run Scaler.

7. Delete the SQL script after you have installed your solution to avoid damaging your database in the future
by accidentally using the script on different versions of Scaler.

NOTE The createMSSQL.sql file contains GO statements. You must run the file using an application that
is able to process those statements.

To learn about GO statements, see the Microsoft documentation at https://docs.microsoft.com/en-us/sql/


t-sql/language-elements/sql-server-utilities-statements-go?view=sql-server-ver15 .

Configuring Kerberos Authentication for Oracle

Using this method, you do not need to provide a username and password to Oracle. The Kerberos protocol
can authenticate the following types of users to the database:

● Users maintained by the operating system.

● Users maintained in an LDAP directory service.


3 Installation | 28
3.1 Single Node Installation

Kerberos Prerequisites

● The Windows user that will run the Scaler installation must be maintained in an LDAP directory service
(e.g. Microsoft's Active Directory).

● The LDAP directory service and the Oracle database server must be configured to use Kerberos.

● You must adjust your Oracle database's connection pool so that Kerberos is able to quickly assign enough
(at least 60) tickets to the database.

IMPORTANT See the following documentation on how to configure a Kerberos environment:

● MIT Kerberos Documentation

● Configuring Kerberos Authentication, by Oracle

Configuring Kerberos in Scaler Installer

Authentication method To use the default configuration of your operating system, i.e. to authenticate Scaler
to Oracle using the currently logged-in Windows user, select Kerberos authentication without configuring
the other settings.

Kerberos configuration file (optional) Defines the path to a Kerberos configuration file (krb5.conf ), allowing
you to use a custom Kerberos configuration. For example, to define an address to a different LDAP directory
service that should be used for the authentication.

If not defined, the default configuration of your operating system is used.

Ticket cache file (optional) Defines the path to a Kerberos ticket cache (or credential cache) file . This file
holds Kerberos credentials while they remain valid. This ensures that authenticating to a service multiple
times does not require contacting the key distribution center every time.

If not defined, the ticket cache created when the current Windows user logged into Windows is used.

NOTE Once you select a Kerberos configuration file or a ticket cache file, and test the database connection
or go to the next installer step, the files cannot be changed. To be able to change any of the selected files,
you must restart the installer.

TIP You can configure the Kerberos authentication after Scaler's installation in the configuration.xml
file.
3 Installation | 29
3.1 Single Node Installation

Configuring Azure Active Directory Authentication for MSSQL

The following steps outline how to use Azure Active Directory authentication when connecting to an MSSQL
database running in Microsoft Azure:

1. Select the Connection string option for the Set connection by setting.

2. Learn about the connection properties that support the Azure Active Directory authentication in the Mi-
crosoft documentation at https://docs.microsoft.com/en-us/sql/connect/jdbc/
connecting-using-azure-active-directory-authentication?view=sql-server-ver16 .

3. Use the Connection string setting to define the value of a custom JDBC connection string, containing
properties that support the Azure Active Directory authentication.

EXAMPLE Connection String Supporting Azure AD Authentication


jdbc:sqlserver://inspireflex.database.windows.net:1433;database=scaler;encrypt=true;trust→
ServerCertificate=true;hostNameInCertificate=*.database.windows.net;loginTimeout=30;au→
thentication=ActiveDirectoryPassword

TIP You can obtain a connection string automatically generated by Microsoft Azure:

1. Sign it to the Azure portal .

2. Navigate to the given database blade and, under Settings, select Connection strings.

3. Copy the JDBC (Active Directory password authentication) connection string and remove the
user and password properties.
3 Installation | 30
3.1 Single Node Installation

3.1.1.7 Deployment Type

This step select a deployment type.

Select the Cluster (Stateful) installation option to install a single node.

NOTE This option can be used to install both the Single Node and Cluster solutions. Clusters are formed
when two or more Cluster installations are performed using the same Database Connection settings.
3 Installation | 31
3.1 Single Node Installation

3.1.1.8 Inspire Scaler Server

This step configures the setting of the Scaler server:

1. Adjust the value of Server port if the default one does not suit you.

Inspire Scaler contains an embedded web application server whose default port is 30600.

2. Check Use SSL if you wish to run Inspire Scaler on HTTPS and configure the SSL settings.

3. Define the path to your Shared storage.

Scaler stores its processing data in the shared storage.

See the Shared Storage section of the Inspire Scaler User Manual for more information.

WARNING Running Inspire Scaler without SSL makes your solution insecure. Any information included
in HTTP requests (e.g. login credentials, content of HTTP responses) exchanged between Inspire Scaler
and client applications can be read and accessed by malicious clients.

NOTE You can configure Scaler to run on HTTPS retroactively anytime after the installation of Scaler
(see the HTTPS Configuration section).
3 Installation | 32
3.1 Single Node Installation

SSL Settings

SSL Settings Description

Keystore file path Defines the path to the keystore file, which is a storage for keys and certificates used
for securing the TLS communication.

Type Selects the keystore's format.


The available options include: JKS and PKCS12.

Password Defines the password to the keystore.

Alias Defines the alias of the certificate you wish to use for Inspire Scaler.

NOTE When generating a PKCS12 using OpenSSL, you must use the optional
parameter -name to configure the alias. Otherwise, the keystore gets a default
alias that you must recover.

To recover the default alias, you can, for example, run this command:

keytool -list -storetype pkcs12 -keystore <keystore_name>.p12

Key password Defines the password to the defined alias.

3.1.1.9 Inspire Content Manager


3 Installation | 33
3.1 Single Node Installation

This step defines the connection to ICM (an obligatory prerequisite). It stores all Inspire Scaler workflows in a
folder structure automatically created by the installation:

1. Configure the ICM settings.

2. Ensure the entered ICM user has the Admin permissions.

3. Click on the Test buttons to verify that ICM is running on the entered host and port, and that the selected
user can access it.

TIP If the test fails, try the solution in the Troubleshooting section.

ICM Settings

ICM Settings Description

Host Defines the connection to Inspire Content Manager (ICM).

Port

Use domain verific- Defines how to encrypt the communication between Scaler and ICM:
ation
● Unchecked – Applies Scaler's default encryption using a self-signed TLS certific-
ate generated by ICM.

● Checked – Configures Scaler to use a custom certificate signed by a certification


authority to encrypt the communication.

If checked, you must also configure the Domain setting.

Domain Ensures that the communication between Scaler and ICM is encrypted using a custom
certificate signed by a certification authority. To configure this setting, you must:

1. Configure ICM to use a custom certificate and key to encrypt ICM's communica-
tion with other Inspire components.

For more information, see the ICM Certificates section of Inspire Designer
User Manual.

2. Specify a domain here that matches a domain contained in the certificate con-
figured in ICM.

3. See the ICM Trusted Domain Settings section of Inspire Scaler User Manual
to learn more about:

● The details of encrypting Scaler's communication with ICM using a custom


certificate.

● Enabling and configuring the encryption after installing Scaler.


3 Installation | 34
3.1 Single Node Installation

ICM Settings Description

User Name Defines the credentials of an admin ICM user. Inspire Scaler uses this user to commu-
nicate with ICM.
Password
See the Enhanced ICM Authentication Configuration section to learn about the additional
options (provided by the silent installer) for defining the user you wish to use for the
ICM authentication.

API authentication Specifies the default ICM user group whose members are allowed to send API requests
group to Inspire Scaler.

In Inspire Scaler, you can define more groups in ADMINISTRATION | Authentication |


API Authentication Groups.

NOTE If the specified group does not exist, the installation creates it automat-
ically. Access the ICM group after the installation and create its members.

3.1.1.10 Inspire Production Server

This step defines the connection to IPS (an obligatory prerequisite):

1. Enter the port occupied by Inspire Production Server on the local host.

2. Click on Test Connection to verify that the connection is valid.

NOTE

● The settings of Inspire Production Servers can be changed later by editing the respective section
of the configuration.xml file. Once edited, you need to restart the application for the changes to
take effect.

● You can also use the same configuration file to add more production servers to your installation if
you require more power.
3 Installation | 35
3.1 Single Node Installation

3.1.1.11 Scenario Engine

This step allows you to install Scenario Engine (SEN), which is a separate back end application deployed alongside
Scaler, on the same node.

Scaler uses SEN to integrate itself with Omnichannel Orchestration.

TIP To learn more about SEN, see the Integration with Omnichannel Orchestration section of Inspire
Scaler User Manual.

Only install SEN if you intend to integrate Scaler with Omnichannel Orchestration:

1. Check the Configure Scenario Engine check box.

2. Configure the SEN settings.

3. Learn about SEN's use of ICM in the SEN's ICM Instance section.

4. Optionally, configure additional SEN settings post-installation in the \sen\config\application.yml file.

To learn about the additional settings, see the SEN Configuration section of Inspire Scaler User Manual.
3 Installation | 36
3.1 Single Node Installation

SEN Settings

ICM Settings Description

Port Defines the port to be occupied by SEN (when it is running) on the local host.

User name Define the credentials of an ICM user who is granted all the necessary permissions to operate
SEN.
Password
To learn about the requirements for the defined user, see the SEN User Requirements section.

SEN's ICM Instance

SEN uses ICM to store any resources necessary for its production purposes.

It uses the same ICM instance as Scaler. Its connection is configured on the Inspire Content Manager installer
step.

You can configure a backup ICM instance for SEN post-installation. Do that in SEN's configuration file: applica-
tion.yml .

SEN User Requirements

This section lists the requirements that a user must meet to operate SEN:

API Authentication Group Over the course of one delivery scenario job being processed, SEN triggers multiple
Scaler jobs. Those jobs are processed by workflows that contain the Scenario Engine Input module.

Internally, SEN starts the jobs by sending requests to the Scenario Engine Input modules. SEN (as the client)
authenticates itself with Scaler (as the server) via the user defined in the SEN settings.

Scaler only authorizes the request if the user is a member of the API authentication group selected on the
Scenario Engine tab on Scaler's Administration page.

Default API Authentication Group


By default, for SEN, Scaler's installer designates the same API authentication group that you defined on the
Inspire Content Manager step. That is why the user defined in the SEN settings must be a member of that
API authentication group (at least during the installation).

If you do not want to use the default API authentication group for SEN, you can change it after Scaler's in-
stallation on the API Authentication Groups tab on Scaler's Administration page.

Administration Management Permission While a delivery scenario job is processed, SEN triggers multiple
Scaler jobs.

Internally, SEN periodically checks the status of the triggered jobs. It does that by calling Scaler's REST API
services.

Those REST API services must be authenticated by a user who has the administration management permis-
sions.

To learn how to grant permissions to user roles, see the Role Management section of Inspire Scaler User
Manual.
3 Installation | 37
3.1 Single Node Installation

3.1.1.12 Scenario Engine Database Connection


This step defines the connection to Scenario Engine's database.

Configure the connection the same way that you configured the connection to Scaler's database with these ex-
ceptions:

● You must use a different database for SEN than the one you use for Scaler.

● SEN only supports the following database types: MSSQL, PostgreSQL, and Oracle.

● The Oracle database type does not support Kerberos authentication.

● If you create the database structure manually, get the generated SQL scripts in the sen/config/sql folder
in Scaler's installation directory:

Database Type File Name

MSSQL mssql-create.sql

PostgreSQL postgre-create.sql

Oracle oracle-create.sql

TIP We recommend that you establish failover for SEN's database.

Minimum Database User Rights


It is recommended to run the SEN database with the same minimum database user rights as the ones listed for
the Scaler database.

3.1.1.13 Installation Summary


This step allows you to review the installation summary.

If needed, click on Back to change the installation settings. Otherwise, click on Install to finish.

3.1.1.14 Finish
This step allows you to import a sample package into Scaler's ICM.

The package contains several samples to help you get started using Inspire Scaler. It includes a deployable demo
solution that illustrates the functionality and use cases that Scaler was developed for.

To learn more, see the Sample Package section of Inspire Scaler User Manual.
3 Installation | 38
3.1 Single Node Installation

3.1.2 CLI Installation


To install Inspire Scaler and Scenario Engine using the command line:

1. Unpack the InstallerPackage-InspireScaler-<version>-Universal.zip package.

2. Run one of these files as an administrator to start the installation:

● install-cli.bat — For Windows operating systems.

● install-cli.sh — For Unix based operating systems.

3. Go through the CLI installer by following its guidelines. The settings that the CLI installer guides you
through correspond to the settings within the GUI installation.

4. Run Inspire Scaler.

3.1.3 Silent Installation


Installs Scaler and optionally Scenario Engine without constant interaction or prompts based on a preconfigured
JSON file specifying the command line values:

1. Unpack the InstallerPackage-InspireScaler-<version>-Universal.zip package.

2. Prepare a configuration JSON file called install-silent.json.

Use one of the methods described in the Configuration File for Silent Installation section to prepare the
file.

3. Consider enabling and configuring the special features listed in the Silent Installation Exclusive Features
section.

4. Run one of these silent installer files:

● install-silent.bat – For Windows operating systems.

● install-silent.sh – For Unix based operating systems.

5. Optionally, utilize the returned status code for programmatic detection:

● 0 – Success

● 1 – Error

6. Run Inspire Scaler.

WARNING To avoid compromising the security of your production environment after the installation,
remove passwords from the install-silent.json file or delete the file entirely.
3 Installation | 39
3.1 Single Node Installation

3.1.3.1 Silent Installation Configuration File


This section lists the methods you can you use to prepare the install-silent.json configuration file necessary
for the silent installation:

Using the GUI installer

1. Go through the GUI installer by configuring all the options according to your needs.

2. When you reach Installation Summary, click on Save to File.

3. Find the generated install-silent.json file (containing the prepared configuration) within the installer
package.

Finishing the Scaler Installation

1. Go through the GUI or CLI installer by configuring all the options according to your needs.

2. Finish the installation as usual.

3. Find the generated install-silent.json file (containing the used configuration) within the installer
package.

Preparing the File Manually

1. Go to the installer package.

2. Open the sample configuration file: install-silent-new-installation-sample.json.

3. Modify the sample to suit your needs.

4. Rename the modified sample file to install-silent.json.

3.1.3.2 Silent Installation Exclusive Features


This section lists the Scaler features that you can only enable and configure using the silent installation method:

● Enhanced ICM Authentication Configuration

● Password Encryption

Enhanced ICM Authentication Configuration

To authenticate Scaler to ICM, the GUI installer only allows you to define an existing user with the Admin account
type.
3 Installation | 40
3.1 Single Node Installation

The silent installer provides you with additional options for defining the user you wish to use for the authentication:

User with Insufficient Permissions You can define a user with insufficient permissions and have the silent installer
promote that user to an Admin user.

Do that by inserting the following properties inside the icm object in the install-silent.json file:

● user / password – Define the credentials of an existing user you wish to use for the authentication.

● adminUser / adminPassword – Define the credentials of an Admin user. You can either use the default
Admin user or another user whose account is of the Admin type.

● createOrPromoteUser – Set the value to true.

The silent installer will use the permissions of the defined Admin user to promote the permissions of the user
that you wish to use for the authentication.

New Admin User You can define a new user that the silent installer will create in ICM for you.

Do that by inserting the following properties inside the icm object in the install-silent.json file:

● user / password – Define the credentials of a user you wish to create in ICM.

● adminUser / adminPassword – Define the credentials of an Admin user. You can either use the default
Admin user or another user whose account is of the Admin type.

● createOrPromoteUser – Set the value to true.

The silent installer will use the permissions of the defined Admin user to create the new user that you wish
to use for the authentication, and to promote their permissions.

EXAMPLE ICM Configuration


"icm": {
"host": "localhost",
"port": 30353,
"user": "johndoe",
"password": "ExamplePassword1234*",
"adminUser": "admin",
"adminPassword": "pass",
"createOrPromoteUser": true,
"externalApiUserGroupName": "RestApiUser"
}

Password Encryption

Scaler and Scenario Engine (SEN) maintain various passwords in their databases, configuration files, and in the
WFS (workflows) files stored in ICM. The default encryption of those passwords is different for each application:

● Scaler – Encrypts passwords using an AES 256 bit key with a random initialization vector.

● SEN – Encrypts passwords using a random hexadecimal key whose length is 32B.
3 Installation | 41
3.1 Single Node Installation

The value of the automatically used key is available after Scaler's installation in the sen/internals/de-
fault_key file.

You can configure both Scaler and SEN to use a custom encryption key to encrypt the passwords:

1. Insert the following properties into the install-silent.json file:

● customEncryptionKeyPath

● customEncryptionKeyId

2. Insert the properties at the following levels of the install-silent.json file:

● For Scaler, insert them at the root level.

EXAMPLE
"customEncryptionKeyPath": "/etc/pathToSecondKeyFile",
"customEncryptionKeyId": 2,

● For SEN, insert them inside the scenarioEngine.serverSettings object.

EXAMPLE
"scenarioEngine" : {
"configureScenarioEngine" : true,
"serverSettings" : {
"port" : 30900,
"authToken" : "6fde2ed3-c7b2-4f3c-863d-8c485b49342a",
"maximumParallelBatches" : 4,
"customEncryptionKeyId" : 2,
"customEncryptionKeyPath" : "/etc/pathToSecondKeyFile"
}

3. Study the Custom Password Encryption Key section of Inspire Scaler User Manual to learn about:

● The feature's details.

● The meaning of the configuration properties.

● Enabling and configuring the feature after installing Scaler via another installation type.

● Changing the encryption key later.


3 Installation | 42
3.1 Single Node Installation

3.1.4 Script Based Deployment


This is a silent installation that also automatically deploys the Inspire Scaler and optionally Scenario Engine
system services:

1. Unpack the InstallerPackage-InspireScaler-<version>-Universal.zip package.

2. Prepare the configuration JSON file whose name must be install-silent.json.

Do this by following the instructions in the Silent Installation section.

3. Configure the following parameters inside the JSON file:

Scaler

● service.name – Defines the name of the Scaler system service to be installed.

The defined name must be unique and must comply with your operating system's policy.

● service.linuxUser – Defines the user that runs the system service (only applicable to Unix installations).

● environment – Adjusts the environment in which Scaler runs (e.g. license or JVM settings).

EXAMPLE
"service": {
"name": "InspireScaler30600",
"linuxUser": "scaler"
},
"environment": [
{
"name": "CX_LICENSE",
"value": "ls"
},
{
"name": "CX_LIC_SERVER",
"value": "lic_server_address"
}
],

Scenario Engine

● scenarioEngine.service.name – Defines the name of the Scenario Engine system service to be installed.

The defined name must be unique and must comply with your operating system's policy.

● scenarioEngine.service.linuxUser – Defines the user that runs the system service (only applicable
to Unix installations).

● environment – Scenario Engine uses the same environment configuration as Scaler.


3 Installation | 43
3.1 Single Node Installation

EXAMPLE
"scenarioEngine": {
"service": {
"name": "",
"linuxUser": ""
}
}

4. Run deploy-silent.bat (Windows) or deploy-silent.sh (Unix) as the administrator to deploy Inspire


Scaler (install and run as a service).

TIP See the install-silent-new-installation-sample.json file for an example of a full configuration.

Adjusting Environment after Deployment


To adjust Scaler's environment later after the deployment:

1. Stop the Scaler service.

2. Go to the <Inspire_Scaler_installation_directory>\bin\ directory.

3. Configure the environment settings in one of these files:

● custom_config.bat (Windows)

● custom_config.sh (Unix based OS)

4. Start the Scaler service.

EXAMPLE Environment Settings (Windows)


set CX_LICENSE=ls
set CX_LIC_SERVER=lic1
set CX_LIC_SERVER2=lic2
set CUSTOM_JVM_ARGS=-Xmx2048m

TIP See the System Memory Allocation section to learn about the Xmx parameter.
3 Installation | 44
3.2 Cluster Installation

3.2 Cluster Installation


Cluster is a solution suitable for high-volume workloads, production purposes, or for cases where scaling and
high availability solutions are required.

Client 1 Client 2

Load Balancer

Node 1 Node 2 Node n


+
 
...

Inspire Inspire
Database Shared Storage
Content Manager License Manager

TIP Clusters and their benefits (Scaling and High Availability architectures) are described in detail in the
Solution Architecture section of the Inspire Scaler User Manual.

Install a cluster by following the instructions in these sections:

● Inspire Content Manager Deployment

● Cluster Nodes

● Shared Storage

● HTTP Load balancer

● Node High-Availability
3 Installation | 45
3.2 Cluster Installation

3.2.1 Inspire Content Manager Deployment


Each Inspire Scaler node must have access to the same Inspire Content Manager storage. To ensure this, you
must deploy your ICM using one of the supported methods:

ICM Server Inspire Content Manager is installed on its own server machine. Each cluster node connects to the
ICM server.

Node 1 Node 2 Node 3

Inspire
Content Manager

ICM Storage Database Inspire Content Manager is installed on each cluster node as a service and connected
to the same SQL database. The common ICM storage is based on the database.

Node 1 Node 2 Node 3

Inspire Inspire Inspire


Content Manager Content Manager Content Manager

SQL Database
for ICM Storage

TIP To learn how to install ICM as a service with a connection to an SQL database, see Inspire De-
signer Installation Guide .

3.2.2 Cluster Nodes


The instructions in this section apply to clusters whose cluster nodes are each installed on a different machine.
This is the recommended solution that provides each node with enough power to suit the production needs.

First Node
1. Follow the instructions in the Single Node Installation and pay special attention to these steps:
3 Installation | 46
3.2 Cluster Installation

Installer Step Instructions

Database Connec- General database connection settings Define a database which will be shared
tion across all the cluster nodes.

Host Avoid using localhost as the host to ensure your cluster works properly.

Create database structure manually To learn about the usage of this check
box, study the Creating Scaler's Database Structure section.

If you decide to create the database structure manually for your cluster,
follow the instructions in the Manual Creation section. However, only do it
for the first node of your cluster.

Once the database structure is manually created after the installation of


the first node, it will be prepared for the other cluster nodes.

Deployment Type Select Cluster installation.

To implement a high-availability cluster, you need a cluster of at least 3 nodes.

Inspire Content The correct value you need to define for Host depends on the type of your ICM
Manager deployment:

ICM Server Use the host name or IP address of the ICM server that all the
cluster nodes connect to.

ICM Storage Database Use the localhost value so that the node uses its
own ICM.

All cluster nodes share the same ICM settings. If you used the host name
or IP address of this node, the other nodes would connect to the same ICM
service. If this node failed, you entire cluster would lose ICM connection.

Scenario Engine The same instructions described for configuring Scaler's database (on the
Database Connec- Database Connection step) apply for configuring SEN's database (on the
tion Scenario Engine Database Connection step)

2. Allow the currently installed node to communicate with the other cluster nodes that you will install:

a) Create an inbound rule in the firewall.

b) Configure the rule to allow the IP addresses of the other cluster nodes to connect to the 5701-5705,
30600 (default installation ports) range of TCP ports.

WARNING Do not allow any other addresses to connect to those ports to prevent unauthorized
access to your nodes. The communication between cluster nodes is neither authenticated nor au-
thorized.

Also, do not allow any addresses to connect to the 30900 port (default SEN port) to prevent unau-
thorized access to Scenario Engine.

3. To ensure Inspire Scaler works correctly, on the given node machine, disable all the network interfaces
but the one Scaler uses for its connection to the network (public or private).

To learn why network interfaces are important, see the Node Communication section of Inspire Scaler
User Manual.
3 Installation | 47
3.2 Cluster Installation

WARNING Ensure that the TCP ports allowed in the inbound firewall rule are functional. Otherwise,
Scaler may not work correctly.

For more information see the Checking Production Readiness post-installation step.

Other Nodes
1. Follow the instructions in the Single Node Installation and pay special attention to these steps:

Installer Step Instructions

Database Connection Configure this step using the same values that you used when installing
the first node.

Detecting the same database, Scaler automatically assigns the node


to the cluster you are forming.

Deployment Type Check that the Deployment Type settings are automatically predefined
by the first installed node. They should be set to Cluster installation.

Inspire Scaler Server Check that the Shared storage setting is automatically predefined by
the first installed node.

Inspire Content Manager Check that the Inspire Content Manager settings are automatically
predefined by the first installed node.

Scenario Engine Use the same user in the Inspire Scaler Authentication settings as the
one you used for the first node.

Scenario Engine Database Use the same values that you used when installing the first node.
Connection
A shared database ensures that data is synchronized correctly between
individual SEN instances.

2. Allow the currently installed node to communicate with the other cluster nodes that you will install:

a) Create an inbound rule in the firewall.

b) Configure the rule to allow the IP addresses of the other cluster nodes to connect to the 5701-5705,
30600 (default installation ports) range of TCP ports.

WARNING Do not allow any other addresses to connect to those ports to prevent unauthorized
access to your nodes. The communication between cluster nodes is neither authenticated nor au-
thorized.

Also, do not allow any addresses to connect to the 30900 port (default SEN port) to prevent unau-
thorized access to Scenario Engine.

3. To ensure Inspire Scaler works correctly, on the given node machine, disable all the network interfaces
but the one Scaler uses for its connection to the network (public or private).
3 Installation | 48
3.2 Cluster Installation

To learn why network interfaces are important, see the Node Communication section of Inspire Scaler
User Manual.

4. Repeat steps 2-4 until you have installed all of the desired nodes.

WARNING Ensure that the TCP ports allowed in the inbound firewall rule are functional. Otherwise,
Scaler may not work correctly.

For more information see the Checking Production Readiness post-installation step.

3.2.3 Shared Storage


By default, Inspire Scaler is installed with its shared storage set to the <Inspire_Scaler_Installation_Direct-
ory>\shared-storage folder.

However, in a cluster where each node is installed on a different machine, consider using a network attached
folder as your shared storage.

NOTE When Scaler is installed as a Windows service, mapped network drives are not available. That
applies regardless of whether the user is running the same account as the user currently logged in because
a service only runs under the 'user credentials', but is not logged in.

To use a mapped network drive as a shared storage, you have these options:

● Use a Universal Naming Convention (UNC) path directly.

● Use a symbolic link (mklink ) to a UNC path.

TIP See the Shared Storage section of the Inspire Scaler User Manual for more information.

Adjusting Shared Storage After Installation


The following steps describe how to adjust the location of your shared storage:

1. In Inspire Scaler, go to ADMINISTRATION | Core Settings | System and Resources.

2. Define the Path to a suitable network-attached storage.


3 Installation | 49
3.2 Cluster Installation

3.2.4 HTTP Load balancer


In computing, load balancing distributes workloads across multiple computing resources, such as computers, a
computer cluster, network links, central processing units or disk drives. Load balancing aims to optimize resource
use, maximize throughput, minimize response time, and avoid overload of any single resource. Using multiple
components with load balancing instead of a single component may increase reliability and availability through
redundancy. Load balancing usually involves dedicated software or hardware, such as a multilayer switch or a
Domain Name System server process.

To implement the load balancing architecture into your solution, install a load balancer.

As an example installation, we use the Apache HTTP Server load balancer and for ease of explanation, it is divided
into these sections:

● HTTP Installation

● HTTPS Installation

● Forwarded Headers

● WebSockets

● Run and Access

● AJP Configuration

HTTP Installation
1. Download Apache HTTP Server and unpack the downloaded file.

2. Open the <ApacheHTTPServer_Installation_Directory>\Apache24\conf\httpd.conf file and adjust it:

a) Configure the Listen property, which defines a free port on which the load balancer will listen.

b) Configure the ServerName property, which defines the URL address used to access the load balancer.
The port used within this address must correspond to the port you configured in the Listen property.

c) Activate/uncomment the following modules required for the load balancing to work:

LoadModule headers_module modules/mod_headers.so


LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
LoadModule rewrite_module modules/mod_rewrite.so
3 Installation | 50
3.2 Cluster Installation

d) Define the complexity of information logged by the load balancer. Select one of these values for the
LogLevel property:

● warn

● debug

e) Insert one of the following sections into the file:

Root To run Inspire Scaler without a custom proxy context on the root URL address of the load
balancer:

Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALAN→


CER_ROUTE_CHANGED

<Proxy "balancer://mycluster/" stickysession=ROUTEID|jsessionid scolonpathdelim=On>

BalancerMember "http://<server_1>:30600" route=node1


BalancerMember "http://<server_2>:30600" route=node2
BalancerMember "http://<server_3>:30600" route=node3

ProxySet lbmethod=byrequests
ProxySet stickysession=ROUTEID
</Proxy>

<Location /balancer-manager>
SetHandler balancer-manager
</Location>

ProxyPreserveHost On
ProxyRequests Off

ProxyPass "/" "balancer://mycluster/" stickysession=ROUTEID


ProxyPassReverse "/" "balancer://mycluster/" stickysession=ROUTEID

RewriteEngine On

RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]


RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteCond %{HTTP_COOKIE} ^.*(ROUTEID)=([^=]*)\.node1 [NC]
RewriteRule /(.*) ws://<server_1>:30600/$1 [P,L]

RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]


RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteCond %{HTTP_COOKIE} ^.*(ROUTEID)=([^=]*)\.node2 [NC]
RewriteRule /(.*) ws://<server_2>:30600/$1 [P,L]

RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]


RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteCond %{HTTP_COOKIE} ^.*(ROUTEID)=([^=]*)\.node3 [NC]
RewriteRule /(.*) ws://<server_3>:30600/$1 [P,L]
3 Installation | 51
3.2 Cluster Installation

RewriteRule /(.*) balancer://mycluster/$1 [P,L]

Custom proxy context To run Inspire Scaler with a custom proxy context (e.g. /cluster/ in the
configuration below):

Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALAN→


CER_ROUTE_CHANGED

<Proxy "balancer://mycluster/" stickysession=ROUTEID|jsessionid scolonpathdelim=On>

BalancerMember "http://<server_1>:30600" route=node1


BalancerMember "http://<server_2>:30600" route=node2
BalancerMember "http://<server_3>:30600" route=node3

ProxySet lbmethod=byrequests
ProxySet stickysession=ROUTEID
</Proxy>

<Location /balancer-manager>
SetHandler balancer-manager
</Location>

ProxyPreserveHost On
ProxyRequests Off

ProxyPass "/cluster/" "balancer://mycluster/" stickysession=ROUTEID


ProxyPassReverse "/cluster/" "balancer://mycluster/" stickysession=ROUTEID

RewriteEngine On

RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]


RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteCond %{HTTP_COOKIE} ^.*(ROUTEID)=([^=]*)\.node1 [NC]
RewriteRule /cluster/(.*) ws://<server_1>:30600/$1 [P,L]

RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]


RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteCond %{HTTP_COOKIE} ^.*(ROUTEID)=([^=]*)\.node2 [NC]
RewriteRule /cluster/(.*) ws://<server_2>:30600/$1 [P,L]

RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]


RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteCond %{HTTP_COOKIE} ^.*(ROUTEID)=([^=]*)\.node3 [NC]
RewriteRule /cluster/(.*) ws://<server_3>:30600/$1 [P,L]

RewriteRule /cluster/(.*) balancer://mycluster/$1 [P,L]

NOTE If the first argument of ProxyPass or ProxyPassReverse ends with a trailing /, the
second argument should also end with a trailing /, and vice versa. Otherwise, the resulting
3 Installation | 52
3.2 Cluster Installation

requests to the back end may miss some needed slashes and do not deliver the expected
results.

When accessing Scaler via the load balancer, include the trailing / in the URL. For example:
https://localhost:10000/cluster/.

HTTPS Installation
1. Download Apache HTTP Server and unpack the downloaded file.

2. Configure Apache HTTP Server for SSL.

3. Configure Inspire Scaler for SSL.

4. Open the <ApacheHTTPServer_Installation_Directory>\Apache24\conf\httpd.conf file.

5. Activate/uncomment the following modules required for the load balancing to work:

LoadModule headers_module modules/mod_headers.so


LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
LoadModule rewrite_module modules/mod_rewrite.so

6. Go to the <ApacheHTTPServer_Installation_Directory>/Apache24/conf/extra directory and open one of


the following files, depending on which one you are using:

● httpd-ssl.conf

● httpd-ahssl.conf

7. Adjust the content of the file by placing the following properties into the VirtualHost section:

Root To run Inspire Scaler without a custom proxy context on the root URL address of the load balancer:

Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALAN→


CER_ROUTE_CHANGED

<Proxy "balancer://mycluster/" stickysession=ROUTEID|jsessionid scolonpathdelim=On>


BalancerMember "https://<server_1>:30600" route=node1
BalancerMember "https://<server_2>:30600" route=node2
BalancerMember "https://<server_3>:30600" route=node3

ProxySet lbmethod=byrequests
ProxySet stickysession=ROUTEID
3 Installation | 53
3.2 Cluster Installation

</Proxy>

<Location /balancer-manager>
SetHandler balancer-manager
</Location>

ProxyPreserveHost On
ProxyRequests Off

ProxyPass "/" "balancer://mycluster/" stickysession=ROUTEID


ProxyPassReverse "/" "balancer://mycluster/" stickysession=ROUTEID

SSLProxyEngine on
SSLProxyCheckPeerCN on
SSLProxyCheckPeerName on
SSLProxyCheckPeerExpire on

RewriteEngine On

RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]


RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteCond %{HTTP_COOKIE} ^.*(ROUTEID)=([^=]*)\.node1 [NC]
RewriteRule /(.*) wss://<server_1>:30600/$1 [P,L]

RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]


RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteCond %{HTTP_COOKIE} ^.*(ROUTEID)=([^=]*)\.node2 [NC]
RewriteRule /(.*) wss://<server_2>:30600/$1 [P,L]

RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]


RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteCond %{HTTP_COOKIE} ^.*(ROUTEID)=([^=]*)\.node3 [NC]
RewriteRule /(.*) wss://<server_3>:30600/$1 [P,L]

RewriteRule /(.*) balancer://mycluster/$1 [P,L]

Custom proxy context To run Inspire Scaler with a custom proxy context (e.g. /cluster/ in the configur-
ation below):

Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALAN→


CER_ROUTE_CHANGED

<Proxy "balancer://mycluster/" stickysession=ROUTEID|jsessionid scolonpathdelim=On>


BalancerMember "https://<server_1>:30600" route=node1
BalancerMember "https://<server_2>:30600" route=node2
BalancerMember "https://<server_3>:30600" route=node3

ProxySet lbmethod=byrequests
ProxySet stickysession=ROUTEID
</Proxy>

<Location /balancer-manager>
SetHandler balancer-manager
3 Installation | 54
3.2 Cluster Installation

</Location>

ProxyPreserveHost On
ProxyRequests Off

ProxyPass "/cluster/" "balancer://mycluster/" stickysession=ROUTEID


ProxyPassReverse "/cluster/" "balancer://mycluster/" stickysession=ROUTEID

SSLProxyEngine on
SSLProxyCheckPeerCN on
SSLProxyCheckPeerName on
SSLProxyCheckPeerExpire on

RewriteEngine On

RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]


RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteCond %{HTTP_COOKIE} ^.*(ROUTEID)=([^=]*)\.node1 [NC]
RewriteRule /cluster/(.*) wss://<server_1>:30600/$1 [P,L]

RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]


RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteCond %{HTTP_COOKIE} ^.*(ROUTEID)=([^=]*)\.node2 [NC]
RewriteRule /cluster/(.*) wss://<server_2>:30600/$1 [P,L]

RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]


RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteCond %{HTTP_COOKIE} ^.*(ROUTEID)=([^=]*)\.node3 [NC]
RewriteRule /cluster/(.*) wss://<server_3>:30600/$1 [P,L]

RewriteRule /cluster/(.*) balancer://mycluster/$1 [P,L]

NOTE

● For the load balancer to work correctly, Scaler's SSL certificate must be prepared correctly with
the right hostnames.

● If the first argument of ProxyPass or ProxyPassReverse ends with a trailing /, the second argument
should also end with a trailing /, and vice versa. Otherwise, the resulting requests to the back end
may miss some needed slashes and do not deliver the expected results.

Forwarded Headers
The instructions in this section only apply to load balancers that work within the application layer (the 7th layer)
of the Open Systems Interconnection (OSI) model .
3 Installation | 55
3.2 Cluster Installation

To suit your needs, you may need to configure the load balancer to include the following headers within the requests
sent to Scaler nodes. The headers are applicable when the server information of the load balancer differs from
the server information of your Scaler nodes:

● X-Forwarded-Proto – Specifies the used protocol (HTTP or HTTPS). For example, it is applicable when
using SSL offloading.

● X-Forwarded-Host – Specifies the host name of the server that runs the load balancer.

● X-Forwarded-Port – Specifies the port of the server that runs the load balancer.

● X-Forwarded-Prefix – Specifies the load balancer's custom context path (if one exists).

EXAMPLE
X-Forwarded-Proto: https
X-Forwarded-Host: vital.com
X-Forwarded-Port: 30601
X-Forwarded-Prefix: /scaler

WebSockets
Enable WebSockets on your load balancer.

Without this, the Job Monitoring , Inspire Production Server Monitoring , and Workflow Editor pages in
Scaler do not work.

Run and Access


1. Run the <ApacheHTTPServer_Installation_Directory>\Apache24\bin\httpd.exe file to launch the load
balancer server.

2. Verify that the load balancer server is running:

a) In your web browser, use the URL address you defined in step 2b of the Installation section.

IMPORTANT If you configured a custom proxy context, you must include it in the URL address,
e.g. http://localhost:10000/cluster/.

b) Add /balancer-manager/ to the address, e.g. http://localhost:10000/balancer-manager/.

The balancer manager should open. It enables dynamic update of balanced members. You can use
balancer manager to change the balance factor of a particular member, or put it in the offline mode.
3 Installation | 56
3.2 Cluster Installation

AJP Configuration
When balancing using the AJP protocol, you must make the following adjustments:

1. Use the following BalancerMember setting in step 2e of the load balancer installation:

"ajp://<server 1>:30630" route=node1

2. Uncomment and configure the load balancing properties within the application.properties file.
3 Installation | 57
3.2 Cluster Installation

3.2.5 Node High-Availability


The data of the jobs currently being processed by Scaler is stored in Scaler's internal memory. A certain amount
of data copies are created and stored in random cluster nodes for the duration of the job processing. This provides
a backup in case a node failure occurs and another node has to resume processing the job data.

TIP Scaler indicates the currently configured number of data copies using the Backup count information
field at ADMINISTRATION | System Monitoring | System Status.

Depending on the size of your cluster, you should adjust the number of job data copies to be created for each
job:

1. Study the Recommended Backup Count section to learn about the recommended backup counts for dif-
ferent cluster sizes.

2. Follow the principles of silent installation or silent upgrade.

3. Include the clusterSettings.backupCount property into the install-silent.json file.

EXAMPLE
"clusterSettings": {
"selectedType": "CLUSTER",
"backupCount": 2
},

4. Install or upgrade Scaler using the silent installer to automatically adjust the backup count.

WARNING Insufficient backup count may cause you to lose job data.

The backup count also dictates how many cluster nodes can be safely restarted at once without breaking
backup count's data protection:

● When backup count is set to 1 (the default value), cluster nodes should only be restarted one by
one.

● When backup count is set to 2, only two cluster nodes should be restarted simultaneously.

● Etc.

For more information, see Insufficient Backup Count Example.

Recommended Backup Count


Scaler always stores one set of the received job data in its memory. Backup count dictates how many additional
copies should be created and stored for each job in random cluster nodes.
3 Installation | 58
3.3 Multi Cluster Installation

Cluster Size Recommended Total Data Copies


Backup Count Stored in Memory

3 nodes 1 2

5 nodes 2 3

7 nodes 3 4

NOTE Each added backup count increases the network traffic between Scaler nodes which may slow
down Scaler's processing performance.

Insufficient Backup Count Example


This section provides an example of what may happen if the backup count is configured insufficiently.

EXAMPLE

Configuration

Cluster Size Backup Count Total Data Copies


Stored in Memory

5 nodes 1 2

Outcomes

● One node fails – No job data is lost even if the node that failed is the one whose memory stores
one of the job data copies.

Other nodes continue processing jobs using the one data copy left stored in the memory.

● Two nodes fail – The outcome of this scenario depends on which two nodes fail:

Both failed nodes store job data copies The job data is lost. The affected jobs are not pro-
cessed, leaving no record about the jobs ever entering the system.

Only one of the two failed nodes stores a job data copy No job data is lost. Other nodes
continue processing jobs using the one data copy left stored in the memory. Scaler's internal
memory creates another job data copy and stores it in another cluster node, recovering
the configured backup count.

3.3 Multi Cluster Installation


Multi cluster is an extension to our cluster solution. It runs multiple, fully autonomous clusters simultaneously
within one architecture.
3 Installation | 59
3.3 Multi Cluster Installation

Cluster 1 Cluster 2
Client 1 Client 2 Client 1 Client 2

Load Balancer Load Balancer

Node 1 Node 2 Node 3 Node 1 Node 2 Node 3

Scaler Inspire Scaler Inspire


Shared Storage Shared Storage
Failover Database License Manager Failover Database License Manager

ICM Storage Inspire ICM Storage Inspire


Failover Databse License Manager Failover Databse License Manager

Common Database

TIP The characteristics of multi clusters are described in detail in the Solution Architecture section of
the Inspire Scaler User Manual.

3.3.1 Multi Cluster Installation Steps


To install a multi cluster, follow the instructions in the Cluster Installation section and pay special attention to
these steps:

Database Connection

1. Define a unique database for each cluster (and their nodes). This is how each cluster shares its re-
sources among all its nodes.

For example, if you install a multi cluster consisting of three clusters, you must install three clusters,
each of them on a unique database.

2. Study the Creating Scaler's Multi Cluster Database Structure section to learn about the usage of the
Create database structure manually check box.

Deployment Type Select Multi cluster installation.

This applies to every cluster and every node you install.


3 Installation | 60
3.3 Multi Cluster Installation

Common Database Connection Define a database through which the clusters in your multi cluster can share
their health status with each other. This defined, common database must apply to every cluster and every
node you install.

Multi Cluster Settings Define the name of the cluster that is currently being installed.

In Inspire Scaler, the selected cluster names help you recognize the clusters and monitor their health in AD-
MINISTRATION | System Monitoring | System Status.

NOTE Once you define the name within the installation of the first cluster node, the defined name
applies to all subsequent nodes you install within the same cluster and cannot be changed later.

Inspire Scaler Server We recommend that you select Use SSL to set up a secure Inspire Scaler connection via
HTTPS.

Inspire Content Manager It is recommended that each cluster runs with its own Inspire Content Manager
storage.

If one Inspire Content Manager storage is used by the whole multi cluster, Inspire Scaler's behavior may be
unpredictable:

EXAMPLE

● A workflow created in one cluster is visible in the whole hybrid cluster but it must be deployed
in each cluster separately.

● If a workflow is deployed on each cluster and gets renamed, the workflow is redeployed correctly
in the cluster that renamed it but in the other clusters, it is undeployed.

Scenario Engine Database Connection Define a unique SEN database for each cluster in the multi cluster.

3.3.2 Creating Scaler's Multi Cluster Database Structure


This section describes the usage of the Create database structure manually check box (in multi cluster installa-
tions) available in the Database Connection installer step.

Your security policies may not allow third-party applications to run with a user that has elevated rights to your
database management system. As such, you may need the ability to create the database structures (necessary
for Scaler to operate) manually with a database user of your choice.

Scaler's installer lets you choose the method for creating the database structures:

● Automatic creation

● Manual creation

Automatic Creation
To let Scaler create the database structures automatically under the database user defined in the installer, leave
the Create database structure manually check box unchecked.
3 Installation | 61
3.4 Stateless Architecture Installation

Manual Creation
To create the database structures manually under a database user of your choice, you must complete the following
steps for the first node of every new cluster in your multi cluster:

1. Check the Create database structure manually check box.

2. Finish the installation of the first node of a cluster as usual.

3. Do not run Scaler yet.

4. Go to the config/sql folder in Scaler's installation directory.

5. Get the generated SQL scripts and execute them in the corresponding databases (Scaler DB and common
DB) that you defined while installing the first node of a cluster:

Database Type File Name File Name


(Scaler DB) (Common DB)

MSSQL createMSSQL.sql createCommonMSSQL.sql

Oracle createOracle.sql createCommonOracle.sql

PostgreSQL createPostgreSQL.sql createCommonPostgreSQL.sql

MySQL createMySQL.sql createCommonMySQL.sql

6. Install the other nodes of your clusters as usual.

The database structures created manually for the first node of every new cluster are ready to be used by
the other nodes in your clusters.

7. Delete the SQL scripts after you have installed your solution to avoid damaging your database in the future
by accidentally using the scripts on different versions of Scaler.

NOTE The createMSSQL.sql and createCommonMSSQL.sql files contain GO statements. You must run the
file using an application that is able to process those statements.

To learn about GO statements, see the Microsoft documentation at https://docs.microsoft.com/en-us/sql/


t-sql/language-elements/sql-server-utilities-statements-go?view=sql-server-ver15 .

3.4 Stateless Architecture Installation


Stateless Architecture is a group of independently-deployed Inspire Scaler nodes that do not form a cluster. They
share the same database and Inspire Content Manager.

Scaling in the Stateless Architecture is highly flexible:

● The number of nodes that can operate simultaneously is unlimited.

● There is no limitation on how many nodes can be simultaneously connected into or disconnected from
the Stateless Architecture.
3 Installation | 62
3.4 Stateless Architecture Installation

To achieve such flexibility, as opposed to the regular Cluster, some Inspire Scaler features are either unavailable
or limited in the Stateless Architecture. You should read about them in Stateless Architecture section of Inspire
Scaler User Manual.

+-1 Node (Flexible Scaling)

+-1 Node (Flexible Scaling)

+-1 Node (Flexible Scaling)

+-1 Node (Flexible Scaling)

+-1 Node (Flexible Scaling)

+-1 Node (Flexible Scaling)


Client 1
Inspire Scaler Node
Load Balancer

Client 2
Inspire
Inspire Scaler
Production Server

Inspire
Content Manager

Prerequisites

Inspire
Database
License Manager

To install Stateless Architecture, follow the instructions in these sections:

● Inspire Content Manager Deployment

● Metrics API

● Stateless Nodes

● Shared Storage

● Load Balancer

WARNING Installing Scenario Engine with the stateless architecture of Scaler is not supported.

3.4.1 Inspire Content Manager Deployment


Make sure that Inspire Content Manager is installed on each node as a service and that the ICMs are all connected
to the same storage (an SQL database).
3 Installation | 63
3.4 Stateless Architecture Installation

Node 1 Node 2 Node 3

Inspire Inspire Inspire


Content Manager Content Manager Content Manager

SQL Database
for ICM Storage

TIP To learn how to install ICM as a service with a connection to an SQL database, see Inspire Designer
Installation Guide .

3.4.2 Metrics API


By default, the Metrics API feature is enabled for stateless architecture, and you cannot enable it after the in-
stallation.

If you wish to disable it to prevent redundant CPU load, you must do it during the installation:

1. Use the silent installer to install your stateless architecture.

2. Insert the following object at the root level of the install-silent.json file:

"metricsAPI": {
"enabled": "false"
},

3.4.3 Stateless Nodes

First Node
1. Ensure that you install only the first node. Do not install all the other nodes simultaneously.

The installation of the first node prepares the database schema for the rest of your stateless architecture
nodes.

2. Follow the instructions in the Single Node Installation and pay special attention to these steps:
3 Installation | 64
3.4 Stateless Architecture Installation

Installer Step Instructions

Database Connec- General database connection settings Define a database which will be shared
tion across all the stateless nodes.

Host Avoid using localhost as the host to ensure your solution works properly.

Create database structure manually To learn about the usage of this check
box, study the Creating Scaler's Database Structure section.

If you decide to create the database structure manually for your stateless
architecture, follow the instructions in the Manual Creation section. However,
only do it for the first node of your stateless architecture.

Once the database structure is manually created after the installation of the
first node, it will be prepared for all the other nodes.

Deployment Type Select Stateless architecture installation.

Inspire Content The correct value you need to define for Host depends on the type of your ICM
Manager deployment:

ICM Server Use the host name or IP address of the ICM server that all the nodes
connect to.

ICM Storage Database Use the localhost value so that the node uses its own
ICM.

All nodes share the same ICM settings. If you used the host name or IP ad-
dress of this node, the other nodes would connect to the same ICM service.
If this node failed, you entire cluster would lose ICM connection.

3. To make the node accessible remotely, create an inbound rule in the firewall that allows the connection
to the server's TCP port (the default port is 30600).

4. To ensure Inspire Scaler works correctly, disable on the server all the network adapters but the one Scaler
uses for its connection to the network (public or private).

Other Nodes
1. Ensure that the first node has been installed.

The installation of the first node prepares the database schema for the rest of your stateless architecture
nodes.

2. Follow the instructions in the Single Node Installation and pay special attention to these steps:

Installer Step Instructions

Database Connection Configure this step using the same values that you used when installing
the first node.

Detecting the same database, Scaler automatically assigns the node to


the Stateless Architecture you are installing.

Deployment Type Check that the Deployment Type settings are automatically predefined
by the first installed node. They should be set to Stateless architecture in-
stallation.
3 Installation | 65
3.4 Stateless Architecture Installation

Installer Step Instructions

Inspire Scaler Server Check that the Shared storage setting is automatically predefined by the
first installed node.

Inspire Content Manager Check that the Inspire Content Manager settings are automatically pre-
defined by the first installed node.

3. To make the node accessible remotely, create an inbound rule in the firewall that allows the connection
to the server's TCP port (the default port is 30600).

4. To ensure Inspire Scaler works correctly, disable on the server all the network adapters but the one Scaler
uses for its connection to the network (public or private).

5. Repeat steps 2-4 until you have installed all of the desired nodes.

3.4.4 Shared Storage


By default, each node is installed with its Shared Storage set to the <Inspire_Scaler_Installation_Direct-
ory>\shared-storage folder which is a folder local to each node.

In the Stateless Architecture, it is recommended to keep a local storage for each node because:

● With limitless scaling, many nodes accessing the same shared storage could bottleneck Inspire Scaler's
production speed.

● The Checkpoint and Interaction Point workflow modules are unavailable in the Stateless Architecture.

These modules use the shared storage for their node failure protection functionality.

Adjusting Shared Storage After Installation


To learn how to adjust shared storage after installation, see the Shared Storage Definition section of Inspire
Scaler User Manual.

3.4.5 Load Balancer


To install load balancer for your Stateless Architecture, follow the instructions in the Load balancer section of
the Cluster installation.
3 Installation | 66
3.5 Automated Deployment

3.5 Automated Deployment


Besides the traditional installation methods, you can also automate the deployment of Inspire solutions using
one of these platforms:

Azure Kubernetes Service For more information, see the Deployment of Inspire Flex Using Azure Kubernetes
Service document.

Elastic Kubernetes Service For more information, see the Deployment of Inspire Flex Using Elastic Kubernetes
Service document.

OpenShift® For more information, see the Deployment of Inspire Flex Using OpenShift document.

Ansible® You can easily create custom scenarios that deploy, update, or uninstall solutions automatically.

For more information, see the Deployment of Inspire Flex Using Script document.
4 Post Installation Steps

4.1 Running Scaler and Scenario Engine


4.2 Securing Scaler
4.3 Checking Production Readiness
4.4 Configuring Program and JVM Arguments
4.5 Allocating System Memory
4.6 Configuring Single Sign-On
4.7 Configuring JMS
4.8 Configuring Data Retention Periods
4.9 Configuring HTTPS
4.10 Configuring IPS Load Balancing
4.11 Adding IPS Instances
4 Post Installation Steps | 68
4.1 Running Scaler and Scenario Engine

4.1 Running Scaler and Scenario Engine


Learn how to run Scaler and Scenario Engine immediately after installation in the following sections:

● Manual Run

● Windows Service Run

● Unix Service Run

● Shutdown

TIP When running a single node installation, we strongly recommend that you use a secure connection
to Inspire Scaler.

Manual Run
You can start/stop the Scaler/SEN servers manually:

1. Go to the following directories:

● For Scaler: <Inspire_Scaler_installation_directory>\bin.

● For SEN: <Inspire_Scaler_installation_directory>\sen\bin.

2. Run start.bat (Windows) / start.sh (Unix based OS) to start each server.

3. Access Inspire Scaler at http://server:port/, i.e. http://localhost:30600/.

4. Run stop.bat (Windows) / stop.sh (Unix based OS) to stop each server.

NOTE If the components do not run, make sure that you have a valid license and check the components'
logs.

Windows Service Run


You can install the Scaler/SEN servers as Windows services:

1. Go to the following directories:

● For Scaler: <Inspire_Scaler_installation_directory>\bin.

● For SEN: <Inspire_Scaler_installation_directory>\sen\bin.

2. Define the name and the description of each service using the ServiceName and ServiceDisplayName
parameters in the ntservice.ini file.
4 Post Installation Steps | 69
4.1 Running Scaler and Scenario Engine

3. Optionally, you can open the custom_config.bat file and set environment variables for each component.

EXAMPLE
set CX_LICENSE=ls

4. Run the install_win_service.bat file as administrator to install each server as a service.

5. Set a specific Windows user to run each service in the configuration of the related Windows services.

6. Access Inspire Scaler at http://server:port/, i.e. http://localhost:30600/.

NOTE

● If the components do not run, make sure that you have a valid license and check the components'
logs.

● When Scaler is installed as a Windows service, mapped network drives are not available. That
applies regardless of whether the user is running the same account as the user currently logged
in because a service only runs under the 'user credentials', but is not logged in.

To access a mapped network drive (e.g. to use it as a shared storage), you have these options:

○ Use a Universal Naming Convention (UNC) path directly.

○ Use a symbolic link (mklink ) to a UNC path.

Unix Service Run


You can install the Inspire Scaler server as a Unix service:

1. Go to the following directories:

● For Scaler: <Inspire_Scaler_installation_directory>\bin.

● For SEN: <Inspire_Scaler_installation_directory>\sen\bin.

2. Open the following files:

● scaler.service

● sen.service

3. Adjust the User parameter in each file within the [Service] segment to reference a UNIX system user.

4. Optionally, you can open the custom_config.sh file and set environment variables for each component.
4 Post Installation Steps | 70
4.2 Securing Scaler

EXAMPLE
export CX_LICENSE="ls"

5. As the root user, run the install_unix_service.sh file.

NOTE If your Unix service fails to start, it automatically tries to start up again every 60 seconds.

TIP To adjust the behavior of each Unix service, you can use the scaler.service or sen.service file.

Shutdown
This section describes Scaler and SEN behave when they are being shut down:

Scaler

1. Scaler waits 30 seconds before shutting down to finish any unfinished jobs while no new jobs are accepted.

2. Depending on your Scaler environment, jobs that do not finish within the 30 second window may be affected
differently:

● If your environment is a cluster, your jobs fail after you restart the node.

● If your environment is not a cluster, you lose all information about any unfinished jobs.

SEN
Scenario Engine waits 30 seconds before shutting down after the system service is stopped. This gives SEN time
to wait for Scaler to finish any unfinished jobs belonging to delivery scenario jobs. Scaler jobs that do not finish
within the allocated time period fail. The given delivery scenario jobs remain in progress and the failed Scaler
jobs are reprocessed by another SEN and Scaler node.

4.2 Securing Scaler


Consider adjusting the following Inspire Scaler features because they may pose a security threat:

● Encryption

● Login Session Cookies

● Database Security

● Workflow Modules

● Role Management
4 Post Installation Steps | 71
4.2 Securing Scaler

● Health Check API

● Java Heap Dump

Encryption
ICM Communication Encryption By default, the communication between Scaler and ICM is encrypted using a
self-signed TLS certificate generated by ICM.

Consider using a custom certificate signed by a certification authority to encrypt the communication. For
more information, see the ICM Trusted Domain Settings section of Inspire Scaler User Manual.

Password Encryption Scaler maintains various passwords in its database, configuration files, and in the WFS
(workflows) files stored in ICM. By default, those passwords are encrypted using an AES 256 bit key with a
random initialization vector.

We recommend that you use a custom encryption key to encrypt the passwords. Learn how to do that in
the Custom Password Encryption Key section of Inspire Scaler User Manual.

Login Session Cookies


Scaler maintains its login session using cookies.

According to the RFC 6265 standard , cookies do not provide isolation by port. If a cookie is readable by a
service running on one port, the cookie is also readable by a service running on another port of the same server.
If a cookie is writable by a service on one port, the cookie is also writable by a service running on another port of
the same server.

For this reason, the servers that run your Scaler nodes should not run other distrusting services on different ports
of the same host and use cookies to store security-sensitive information.

Database Security
Encrypted Communication Ensure that the communication between Inspire Scaler and its database is encrypted.
This is especially important when Inspire Scaler and the database communicate over the Internet. In other
words, when they communicate via an unsecured infrastructure. This prevents malicious third parties from
listening in on the communication.

By default, the communication between the database and Inspire Scaler is encrypted, trusting all certificates.
This behavior is handled by the database connection string maintained in the configuration.xml file.

Consider adjusting the behavior to suit your security needs.

Database Access Because all the settings configured in the Administration section are stored in Inspire
Scaler's database, it is important to define security rules for accessing the database to prevent unauthorized
users from attacking the system.

Consider configuring firewall rules (on the server that runs the database), only allowing access to specific
IP addresses.
4 Post Installation Steps | 72
4.2 Securing Scaler

Workflow Modules
ICM Importer / ICM Exporter ICM resources contained within an exported package always come with the related
ICM user groups. These user groups will overwrite the user groups of the target ICM.

If this is not the behavior you require, you can adjust it by disabling the overwrite features within the target
ICM:

1. Open the ICM Explorer of the target ICM.

2. Go to Tools | Server Settings | Package Import.

3. Uncheck these options and click on OK:

● Overwrite existing groups and sync point on import

● Overwrite existing users on import

● Overwrite server properties on import

Script / Groovy Script Both modules can manipulate and compromise local hard disks.

You can avoid this by running Inspire Scaler with a local user, whose system permissions are limited.

Command Line Executor Can be used to run potentially compromising system commands.

Disabling Dangerous Modules


You can completely disable the processing abilities of all the listed modules (ICM Importer / ICM Exporter, Script,
Groovy Script, Command Line Executor), causing any jobs processed by them to fail:

1. Open the <Inspire_Scaler_installation_directory>\config\configuration.xml file.

2. Insert the AllowDangerousModules element into the file and set its value to false.

Role Management
To avoid damaging manipulation with production workflows, disable the Workflows — Manage user role
rights:

1. Access the ICM Explorer of the ICM instance connected to your Scaler production environment.

2. Create a user group without adding any users to it.

3. As the Administrator, log into Inspire Scaler and go to ADMINISTRATION | Authentication | Role Man-
agement.

4. Create the desired user roles without assigning the Administration — Manage rights to them.

5. Assign the empty Inspire Content Manager Group, which you created in step 2, to the Administrator
user role.
4 Post Installation Steps | 73
4.3 Checking Production Readiness

Outcomes of Following above Instructions

● Inability to log into your production environment using the Administrator role. This means that the
WORKFLOWS / Manage rights associated with this user role are obsolete.

● Inability of the other user roles, whose users can log into your production environment, to manipulate with
the Role Management settings.

Health Check API


Health Check API is a collection of services that you can call to check Inspire Scaler's current health state.

It is enabled by default because other parties that integrate with Inspire Scaler (e.g. Inspire Interactive) rely on
this setting.

Consider disabling it to prevent a potential attacker from verifying your system's status after an attack.

Java Heap Dump


By default, a Java heap dump is automatically generated if Scaler experiences issues related to insufficient
available memory (see the -XX:+HeapDumpOnOutOfMemoryError setting in the start.bat file).

A heap dump may contain sensitive information (e.g. passwords and user data). We recommend that you set
up a process for securely handling heap dumps so that they are not distributed to unauthorized people.

4.3 Checking Production Readiness


Before you start producing any Scaler jobs, you must ensure that your cluster works as expected to prevent your
production from malfunctioning:

● All cluster nodes must be running.

● All running nodes must be healthy.

● All running nodes must be communicating with each other:

○ The number of running nodes must correspond to your expected cluster size.
4 Post Installation Steps | 74
4.4 Configuring Program and JVM Arguments

See the Expected Number of Nodes setting in the Cluster Settings tab of Scaler's administration.

○ All running nodes must be visible in the cluster diagram available in the System Status tab of
Scaler's administration.

If you notice any cluster issues using the System Status tab, you must adjust your environment:

1. Ensure that you allowed your cluster nodes to communicate with each other:

a) Create an inbound rule in the firewall of each node.

b) Configure the rule to allow the IP addresses of the other cluster nodes to connect to the 5701-5705,
30600 (default installation ports) range of TCP ports.

c) Do not allow any other addresses to connect to those ports to prevent unauthorized access to your
nodes.

d) See the Cluster Nodes section of the Cluster Installation chapter.

2. Ensure that the TCP ports allowed in the inbound firewall rule are functional. Otherwise, Scaler may not
work correctly.

4.4 Configuring Program and JVM Arguments


This section describes how to customize Scaler via program and JVM (Java Virtual Machine) arguments:

1. Stop Scaler.

2. Go to the <Inspire_Scaler_installation_directory>\bin directory.

3. Open one of these files:

● custom_config.bat (Windows)

● custom_config.sh (Unix)

4. Add the desired arguments to the value of the CUSTOM_JVM_ARGS property.

To learn about the available arguments, see the Argument Types section.

5. Start Inspire Scaler.

EXAMPLE

Windows

set CUSTOM_JVM_ARGS=-Xmx3072m

Unix

export CUSTOM_JVM_ARGS="-Xmx3072m"
4 Post Installation Steps | 75
4.4 Configuring Program and JVM Arguments

Argument Types
This section lists the types of arguments that you can use to configure the CUSTOM_JVM_ARGS property in the cus-
tom_config file:

JVM Arguments Are Java options that change the behaviour of the Java Virtual Machine (JVM) that runs Scaler.

For example, you can use the following arguments:

● -Xmx – Adjusts Scaler's heap memory allocation. For more information, see the Allocating System
Memory section.

● -Dmail.smtp.ssl.protocols – Specifies the SSL protocols to be enabled for SSL connections between
Scaler and an SMTP server configured in the SMTP Server section on Scaler's Administration page.

This argument is part of the properties available in the following JavaMail API package:
com.sun.mail.smtp .

Program Arguments Are Scaler-specific values that the application code expects and processes.

Here is a list of the available program arguments:

Arguments Description

-DFeature_SCRIPT_MODULE_NASHORN_JS=true Configures Scaler to use the Nashorn JavaScript


engine instead of the default GraalVM™ JavaScript
engine.

For more information, see the Switching Between


JavaScript Engines and Language Specifications
section of Inspire Scaler Scripting Reference Guide.

-Djava.io.tmpdir=<path_to_new_temp_dir> Changes Scaler's temporary directory.

For more information, see the Temporary Direct-


ory section of Inspire Scaler User Manual.

-Djava.net.preferIPv4Stack=true Resolves unexpected login prompt issues.


For more information, see the Unexpected Login
Prompt section.

-Dserver.firewall.disableHttpHeadersAndParamet→ Enables Scaler to process HTTP requests whose


ersValidation headers contain ISO control characters.

For more information, see the HTTP Headers


section of Inspire Scaler User Manual.

-Dhttp.proxyHost Configure Scaler to send HTTP requests via a proxy


server.
-Dhttp.proxyPort
For more information, see the HTTP Proxy Calls
-Dhttps.proxyHost section of Inspire Scaler User Manual.
-Dhttps.proxyPort

-Dhttp.proxyUser

-Dhttp.proxyPassword

-Dhttps.proxyUser
4 Post Installation Steps | 76
4.5 Allocating System Memory

Arguments Description

-Dhttps.proxyPassword

-Dhttp.nonProxyHosts

-Djdk.http.auth.tunneling.disabledSchemes=""

4.5 Allocating System Memory

System Memory Management


Inspire Scaler's system memory is managed by Java Virtual Machine (JVM). It is an abstract computing machine
that enables a computer to run a Java program.

JVM memory (i.e. Scaler's memory) is divided into these parts:

Heap Memory A runtime data area that is used to allocate memory for all Java class instances and Arrays. The
heap memory is created when Scaler starts up. It may increase or decrease in size while the application runs.

NOTE See the Adjusting Heap Memory Allocation section to learn more about heap memory.

Non-Heap Memory A data area created when Scaler starts. It stores information about loaded classes, is used
by Java threads, and JVM's garbage collector uses it as a data storage.

Other A data area that Scaler uses to store the JVM code itself, JVM internal structures, loaded profiler agent
code, data, etc.

CAUTION Avoid adjusting the non-heap and other memory parts to prevent your system from malfunc-
tioning.

Adjusting Heap Memory Allocation


By default, the maximum size of Scaler's heap memory is set to 2048 MB. This value should be sufficient.

Test your Inspire Scaler solution before going into production to ensure that it does not run out of memory under
the expected load.

The default memory size may not be sufficient enough if your solution produces simultaneously many jobs that
process large amounts of data.

To increase the default heap memory size:

1. Take into account these variables:

● The amount of memory available to your nodes.

● The amount of memory which may be consumed by the other JVM memory parts (non-heap and
other).
4 Post Installation Steps | 77
4.6 Configuring Single Sign-On

The non-heap memory can often consume more memory than the heap memory.

● The amount of memory consumed by the other processes running on your nodes.

2. When increasing the default size, do it incrementally to find a reasonable minimum size. Use your pre-
production environments to test each increment until you find the best value.

3. Learn how to customize Scaler via program arguments.

See the Configuring Program and JVM Arguments section.

4. Use the -Xmx argument to adjust the heap memory size.

EXAMPLE

Windows
set CUSTOM_JVM_ARGS=-Xmx3072m

Unix
export CUSTOM_JVM_ARGS="-Xmx3072m"

4.6 Configuring Single Sign-On


You can configure Inspire Scaler to enable single sign-on (SSO). SSO is an authentication process that enables
users to sign in to a system once and gain access to multiple applications, including Inspire Scaler.

To learn how to configure and enable single sign-on, see the Single Sign-On section of Inspire Scaler User
Manual.

4.7 Configuring JMS


1. If using Java Messaging Service (JMS), copy the libraries of the selected JMS broker to the <In-
spire_Scaler_installation_directory>\lib-ext\ directory:

● IBM MQ© – All libraries (*.JAR) from the <IBMMQ_installation_directory>\java\lib directory.

● ActiveMQ™ – The following libraries from the <ActiveMQ_installation_directory>\lib directory:

○ activemq-client-<version>.jar

○ geronimo-j2ee-management_<version>_spec-<version>.jar

○ hawtbuf-<version>.jar

2. Continue by configuring the related JMS settings in the configuration.xml file.


4 Post Installation Steps | 78
4.8 Configuring Data Retention Periods

Learn about these settings in the Configuration Files chapter of the Inspire Scaler User Manual.

4.8 Configuring Data Retention Periods


Scaler is unable to monitor the growth of your database. You should set up your own system that regularly deletes
records from the database to avoid running out of space.

If your database runs out of space, the following issues may occur:

● The System Status diagram available on Scaler's Administration page may stop being accurate.

A lack of database space prevents the system status from being updated.

● Scaler's buffer memory threshold would eventually fill up, causing your workflows to stop producing
jobs.

To automatically manage the growth of your database, consider configuring the following types of data retention
periods:

● Job retention period – Regularly deletes records about finished jobs from the database and shared storage.

To learn how to configure it, see the Job Retention Period section of Inspire Scaler User Manual.

● Audit data retention period – Regularly deletes audit-related records from the database.

To learn how to configure it, see the Audit Data Retention Period section of Inspire Scaler User Manual.

4.9 Configuring HTTPS


Learn how to configure HTTPS post installation in these sections:

● Obtaining Self-Signed Certificate

● HTTPS Configuration

Obtaining Self-Signed Certificate


Customers are responsible for obtaining their own certificates.

This section describes an example of how to generated one:

1. Go to the <Inspire_Scaler_installation_directory>\samples directory.

2. Adjust the configuration of one of the following files to suit your environment:

● generate_keystore.bat (Windows)

● generate_keystore.sh (Linux)
4 Post Installation Steps | 79
4.10 Configuring IPS Load Balancing

3. Run the file whose configuration you adjusted to generate the keystore.

4. Find the generated keystore in the <Inspire_Scaler_installation_directory>\samples directory.

HTTPS Configuration
To configure HTTPS for Inspire Scaler after the installation, or to change its previous configuration:

1. Open the <Inspire_Scaler_installation_directory>\config\application.properties file.

2. Configure the HTTPS properties as described in Inspire Scaler User Manual.

4.10 Configuring IPS Load Balancing


By default, Inspire Scaler is installed with the ability to load balance Inspire Production Server jobs disabled. This
means that each cluster node is only able to use the locally available IPS threads, while the other IPS threads
(available remotely within the other cluster nodes) are idle.

IPS load balancing can be enabled after installation. Learn about this feature in the Inspire Production Server
Load Balancing section of Inspire Scaler User Manual.

4.11 Adding IPS Instances


The Inspire Scaler workload can be distributed among multiple IPS instances.

Install additional Inspire Production Servers and define the ports on which they run using the ProductionServ→
ers.ProductionServer.Port element in the <Inspire_Scaler_installation_directory>\config\configuration.xml
file:

EXAMPLE
<ProductionServers>
<ProductionServer>
<Port>30354</Port>
</ProductionServer>
<ProductionServer>
<Port>30355</Port>
</ProductionServer>
<ProductionServer>
<Port>30356</Port>
</ProductionServer>
</ProductionServers>
5 Upgrade

5.1 Upgrading from Previous Versions


5.2 Upgrading Database Structure
5.3 Adjusting Database Socket Timeout
5.4 Upgrading External Libraries
5.5 Removing Java Security Manager from Scaler
5 Upgrade | 81
5.1 Upgrading from Previous Versions

5.1 Upgrading from Previous Versions

NOTE Currently supported upgrades are listed in the Upgrades from Previous Versions section of the
Release Notes for the corresponding version of the application. These are available online from the Docu-
mentation portal in the Quadient University .

Upgrading to any version type (GA, FMAP or Hotfix) should only be performed using the official installer:

1. Stop Inspire Scaler and Scenario Engine (if it is installed) on all nodes.

2. When upgrading from a version earlier than 14.0 to a version 14.0 or later:

a) You must switch to JAVA 11 as this version has become the only supported Java runtime environment
for Scaler.

b) Ensure that the JAVA_HOME environment variable of your operating system points to the correct JAVA
version. For example: C:\Program Files\Java\jdk11.0.4_10.

3. The upgrade will overwrite the logging configuration inside the logger_config_server.xml file.

If this file was customized, back it up before upgrading so that you can quickly readjust the logging con-
figuration after the upgrade.

TIP Avoid customizing the default configuration file.

Instead, use the custom_logger_config.xml file because it is not overwritten if Inspire Scaler is
upgraded and its configuration (if it exists) is functionally merged with the default configuration.

4. If your previous installation uses the MSSQL database with Windows authentication, copy the MSSQL
authentication library into the <InstallerPackage-InspireScaler>\lib-ext folder before you run the installer.

Do not place any other libraries in the <InstallerPackage-InspireScaler>\lib-ext folder while upgrading
Scaler to avoid breaking your solution. To learn how to upgrade external libraries, see Upgrading External
Libraries.

5. Consider adjusting the default connection socket timeout between Scaler and the database.

6. Upgrade nodes using one of these methods:

● Upgrading Using GUI Installer

● Upgrading Using CLI Installer

● Upgrading Using Silent Installer

● Upgrading Using Zero Touch Installer

7. Study the Upgrading Database Structure section to learn about the usage of the Create database
structure manually check box.

8. Start Inspire Scaler and Scenario Engine (if it is installed) on all nodes.
5 Upgrade | 82
5.1 Upgrading from Previous Versions

TIP If Inspire Scaler fails to start, try the solution in the Troubleshooting section.

NOTE Jobs performed on previous versions may be inaccessible on newer versions.

5.1.1 Upgrading Using GUI Installer


Follow the instructions in the GUI Installation section with these exceptions:

1. For emergency purposes, create a backup of your original installation directory, database, log files and
the logging configuration files.

2. When you reach the Installation Type step in the installer:

a) Select Upgrade existing installation.

b) Define the path to the directory of the previously installed Scaler instance.

3. If you are upgrading from a Scaler installation that does not include Scenario Engine, the upgrade installer
allows you to install Scenario Engine using these steps:

● Scenario Engine

● Scenario Engine Database Connection

4. Read the upgrade installation summary and click on Upgrade.

The installation takes its configuration (license, database, ICM, IPS, etc.) from the previously installed in-
stance.
5 Upgrade | 83
5.2 Upgrading Database Structure

5.1.2 Upgrading Using CLI Installer


Follow the instructions in the CLI Installation section with these exceptions:

1. Select Upgrade as the Installation Type.

2. Define the correct installation directory that you wish to upgrade.

5.1.3 Upgrading Using Silent Installer


1. Go to the installer package.

2. Open the sample configuration file: install-silent-upgrade-sample.json.

3. Modify the installation directory to correspond with the directory you wish to upgrade.

4. Rename the modified sample file to install-silent.json.

5. Run one of these silent installer files:

● install-silent.bat — For Windows operating systems.

● install-silent.sh — For Unix based operating systems.

5.1.4 Upgrading Using Zero Touch Installer


Follow the instructions in the Upgrade through Silent Installer section, but run one of these installer files:

● deploy-silent.bat — For Windows operating systems.

● deploy-silent.sh — For Unix based operating systems.

This upgrades Inspire Scaler and Scenario Engine (if it is running) and restarts their system services.

5.2 Upgrading Database Structure


Your security policies may not allow third-party applications to run with a user that has elevated rights to your
database management system. As such, you may need the ability to upgrade the database structures (necessary
for Scaler and Scenario Engine to operate) manually with a database user of your choice.

When upgrading Scaler, use the Upgrade database structure manually check box (available in the Database
Connection installer step) if you want to upgrade databases manually.
5 Upgrade | 84
5.2 Upgrading Database Structure

Upgrade Database Structure Manually Check Box


Checking the Upgrade database structure manually check box has different outcomes determined by whether
or not Scenario Engine is part of the previous Scaler installation from which you are upgrading:

If Scenario Engine Is Already Installed If checked, you must manually upgrade the databases of both Scaler
and Scenario Engine.

If Scenario Engine Is Not Installed If checked, you must manually upgrade the databases of only the Scaler
databases.

Methods of Upgrading Databases


Scaler's installer lets you choose the method for creating the database structures:

● Automatic upgrade

● Manual upgrade

Automatic Upgrade
To let Scaler upgrade the database structures automatically under the database user defined in the installer,
leave the Create database structure manually check box unchecked.

Manual Upgrade

IMPORTANT When upgrading from a Scaler version earlier than 14.0 SP5, manual upgrade is only
supported partially. Scaler will perform some upgrade operations automatically, exporting the SQL scripts
for the rest. This means that the database user entered in Scaler's installer still requires the minimum
database user rights.

Any subsequent upgrades will support the manual upgrade fully.

To upgrade the database structures manually under a database user of your choice:

Cluster You must complete the following steps only for the first node of your cluster:

1. Check the Create database structure manually check box.

2. Finish the Scaler upgrade installer as usual.

3. Do not run Scaler or Scenario Engine yet.

4. Go to the following folders in Scaler's installation directory:

● config/sql – Contains the SQL script for upgrading the Scaler database.

● sen/config/sql – Contains the SQL script for upgrading the Scenario Engine database.

5. Get the generated SQL scripts and execute them in the databases that you defined while installing
Scaler:
5 Upgrade | 85
5.2 Upgrading Database Structure

Database Type File Name

MSSQL upgradeMSSQL.sql

a
Oracle upgradeOracle.sql

PostgreSQL upgradePostgreSQL.sql

MySQL upgradeMySQL.sql

a
See the important note below the manual creation instructions.

6. Upgrade the other cluster nodes as usual.

7. Run Scaler and Scenario Engine on all cluster nodes.

8. Delete the SQL scripts after you have upgraded your solution to avoid damaging your database in
the future by accidentally using the scripts on different versions of Scaler and Scenario Engine.

IMPORTANT

● The upgradeMSSQL.sql file contains GO statements. You must run the file using an application
that is able to process those statements.

To learn about GO statements, see the Microsoft documentation at https://docs.microsoft.com/


en-us/sql/t-sql/language-elements/sql-server-utilities-statements-go?view=sql-server-ver15 .

● When executing SQL scripts in Oracle databases, set the AutoCommit property of your database
session to false.

This ensures your are able to perform a rollback if an error occurs during the script execution.

Stateless Architecture To upgrade the structure of your stateless architecture database manually, follow the
cluster upgrade steps and complete them only for the first node of your stateless architecture.

NOTE Stateless architecture does not support Scenario Engine. Using the Create database structure
manually check box only applies to the Scaler database.

Multi Cluster You must complete the following steps only for the first node of every new cluster in your multi
cluster:

1. Check the Upgrade database structure manually check box.

2. Finish the upgrade of the first node of a cluster as usual.

3. Do not run Scaler or Scenario Engine yet.

4. Go to the following folders in Scaler's installation directory:

● config/sql – Contains the SQL script for upgrading the Scaler database.

● sen/config/sql – Contains the SQL script for upgrading the Scenario Engine database.

5. Get the generated SQL scripts and execute them in the corresponding databases that you defined
while installing the first node of a cluster:
5 Upgrade | 86
5.3 Adjusting Database Socket Timeout

Database Type File Name File Name


(Scaler and SEN DB) (Common DB)

MSSQL upgradeMSSQL.sql upgradeCommonMSSQL.sql

a
Oracle upgradeOracle.sql upgradeCommonOracle.sql

PostgreSQL upgradePostgreSQL.sql upgradeCommonPostgreSQL.sql

MySQL upgradeMySQL.sql upgradeCommonMySQL.sql

a
See the important note below the manual creation instructions.

6. Upgrade the other nodes of your clusters as usual.

The database structures upgraded manually for the first node of every new cluster are ready to be
used by the other nodes in your clusters.

7. Run Scaler and Scenario Engine on all clusters and nodes.

8. Delete the SQL scripts after you have upgraded your solution to avoid damaging your database in
the future by accidentally using the scripts on different versions of Scaler.

IMPORTANT

● The upgradeMSSQL.sql and upgradeCommonMSSQL.sql files contain GO statements. You must run
the file using an application that is able to process those statements.

To learn about GO statements, see the Microsoft documentation at https://docs.microsoft.com/


en-us/sql/t-sql/language-elements/sql-server-utilities-statements-go?view=sql-server-ver15 .

● When executing SQL scripts in Oracle databases, set the AutoCommit property of your database
session to false.

This ensures your are able to perform a rollback if an error occurs during the script execution.

5.3 Adjusting Database Socket Timeout


Upgrading a Scaler solution that has millions of records in its database may take a while. To account for that
time, Scaler's default database socket timeout is set to five hours. In other words, Scaler waits up to five hours
to get a response from the database about a successful upgrade. If Scaler does not receive a successful upgrade
response from the database within 5 hours, the upgrade fails.

You can adjust the default database socket timeout to suit your needs:

1. Before starting the upgrade, depending on your upgrade method, open the corresponding installer file:
5 Upgrade | 87
5.3 Adjusting Database Socket Timeout

OS GUI Installer CLI Installer Silent Installer

Windows install.bat install-cli.bat install-silent.bat

Unix install.sh install-cli.sh install-silent.sh

2. Insert the -Dscaler.db.upgrade.network.timeout parameter into the file and adjust its value (in milliseconds)
to suit your needs.

EXAMPLE

GUI Installer

Windows
start /b "" %_EXECJAVA% -Djava.library.path=lib-ext -Dscaler.db.upgrade.net→
work.timeout=18000000 -jar scaler-installer.jar -i gui

Unix
"$_EXECJAVA" "-Dscaler.db.upgrade.network.timeout=18000000" -jar scaler-installer.jar
-i gui 2> ./installer.err

CLI Installer

Windows
%_EXECJAVA% %SCALER_ADD_OPENS% -Djava.library.path=lib-ext -Dscaler.db.upgrade.net→
work.timeout=18000000 -jar scaler-installer.jar -i cli

Unix
"$_EXECJAVA" $SCALER_ADD_OPENS "-Dscaler.db.upgrade.network.timeout=18000000" -jar
scaler-installer.jar -i cli

Silent Installer

Windows
%_EXECJAVA% %SCALER_ADD_OPENS% -Djava.library.path=lib-ext -Dscaler.db.upgrade.net→
work.timeout=18000000 -jar scaler-installer.jar -i silent

Unix
"$_EXECJAVA" $SCALER_ADD_OPENS "-Dscaler.db.upgrade.network.timeout=18000000" -jar
scaler-installer.jar -i silent

3. Save the file and continue upgrading your solution.

NOTE

● The minimum allowed value is 15 minutes (900000 milliseconds).

● To be able to set the right value, we recommend that you test your upgrade on a testing environment
containing a similar amount of data to your production environment.
5 Upgrade | 88
5.4 Upgrading External Libraries

5.4 Upgrading External Libraries


If you integrate Scaler with external libraries , you may need to upgrade them as well:

1. Stop Inspire Scaler.

2. Place the new library into the lib-ext folder in Scaler's installation directory.

3. Remove the old library from the lib-ext folder in Scaler's installation directory.

4. Start Inspire Scaler.

WARNING Do not try to upgrade external libraries using the lib-ext folder in Scaler's installer package
while upgrading Inspire Scaler to avoid breaking your solution.

The lib-ext folder in Scaler's installer package is only used for new installations (e.g. to provide the MySQL
driver for the first time).

5.5 Removing Java Security Manager from Scaler


From Scaler version 15.0, Java Security Manager is not supported anymore.

If you used Java Security Manager before Scaler version 15.0, you must remove it when upgrading to version
15.0 or later:

1. Upgrade Scaler as usual.

2. Remove the following parameters from the custom_config.bat (Windows) or custom_config.sh (Unix) file:

-Djava.security.manager -Djava.security.policy=../config/scaler.policy

3. Delete the config/scaler.policy file from Scaler's installation directory.


6 Troubleshooting

6.1 Scaler Windows Service Fails to Start


6.2 Unavailable ICM Connection
6.3 Login Issues Immediately After Installation
6.4 Unfunctional Features
6.5 Licensing Issues
6.6 Unexpected Login Prompt
6.7 Scaler Fails to Write Job Data to Database
6 Troubleshooting | 90
6.1 Scaler Windows Service Fails to Start

6.1 Scaler Windows Service Fails to Start


This section describes how to deal with the error 193 that occurs when Scaler is able to start from the command
line but fails to start as a Windows service:

1. Remove spaces from the path to Scaler's installation directory:

EXAMPLE
Change C:/Quadient/Inspire Scaler to C:/Quadient/InspireScaler.

2. See if there are any files with the same name as the first word in Scaler's installation directory name that
share the same path. Rename, move, or delete such files.

EXAMPLE

a) Scaler's installation directory is C:/Quadient/Inspire Scaler.

b) There is a file called Inspire in the C:/Quadient directory.

c) Rename, move or delete the Inspire file.

3. Rename, move, or delete the following files (if they exist):

● C:/Program

● C:/Program Files/Common

6.2 Unavailable ICM Connection


If the connection is unavailable despite the settings being configured correctly, and the <InstallerPackage-In-
spireScaler>\installer.log file throws this exception: TLS_CERTIFICATE_UNKNOWN, delete the ICM cache:

1. Abort the installation.

2. Go to the <InstallerPackage-InspireScaler>\icm folder.

3. Depending on your operating system, run one of these files:

● delete_icm_cache.bat (Windows)

● delete_icm_cache.sh (Linux)
6 Troubleshooting | 91
6.3 Login Issues Immediately After Installation

6.3 Login Issues Immediately After Installation


In some cases, for example when deploying multiple nodes simultaneously, it may take a while for some prerequis-
ites to initialize. Wait a few moments before logging in again.

If the issue persists, an incorrectly initialized prerequisite may be the cause. Use the Health Check API to get
the status of all prerequisites and use the information you get to fix the issue.

6.4 Unfunctional Features


This section is for users who are experiencing issues opening these sections in Inspire Scaler:

● Job Monitoring

● Inspire Production Server Monitoring

To fix the issue, ensure that WebSockets are enabled on your load balancer.

6.5 Licensing Issues


If you are experiencing licensing issues:

Windows

1. Go to the <InstallerPackage-InspireScaler-<version>-Universal>/license/windows/ directory.

2. Run the LicenseRegistryInstaller-amd64.exe file as administrator.

Unix

1. Go to the <InstallerPackage-InspireScaler-<version>-Universal>/license/linux/ directory.

2. Run the LicenseRegistryInstaller-amd64 file:

su
./LicenseRegistryInstaller-amd64

3. Immediately after step 2, run the following command to ensure that the previous command was successful:

echo $?

This returns the status of the last executed command. The expected return value is 0.
6 Troubleshooting | 92
6.6 Unexpected Login Prompt

6.6 Unexpected Login Prompt


When one of the balanced nodes stops working you should not be prompted to log in again because of Scaler's
mechanism of shared sessions.

If you are prompted to do so, consider this faulty behavior which you can work around:

1. Learn how to customize Scaler via program arguments.

See the Configuring Program and JVM Arguments section.

2. Use the -Djava.net.preferIPv4Stack=true argument to disable Scaler's communication with IPv6-only


hosts.

6.7 Scaler Fails to Write Job Data to Database


Scaler instances running on a MySQL database may fail to write data to the database while producing jobs.

If that occurs, the following error appears in Scaler's server log:

net.gmc.nuc.engine.log.storage.DatabaseFailureStorageException: Failed to execute transaction


Caused by: java.sql.BatchUpdateException: Packet for query is too large (8 503 037 > 4 194 304).

To fix the error, you must increase the value of the max_allowed_packet setting of your database.

For more information, see the MySQL documentation at https://dev.mysql.com/doc/refman/8.0/en/


packet-too-large.html .
7 Uninstallation

7.1 Uninstalling Inspire Scaler


7.2 Uninstalling Nodes No Longer Required in Cluster
7.3 Uninstalling Clusters No Longer Required in Multi Cluster
7 Uninstallation | 94
7.1 Uninstalling Inspire Scaler

7.1 Uninstalling Inspire Scaler


To uninstall Inspire Scaler:

1. If you installed Inspire Scaler as a service, uninstall it by running one of these files:

Windows <Inspire_Scaler_installation_directory>\bin\uninstall_win_service.bat

Unix <Inspire_Scaler_installation_directory>\bin\uninstall_unix_service.sh

2. Remove the Inspire Scaler installation directory.

3. Remove Inspire Scaler's shared storage.

4. Uninstall all prerequisites.

5. Remove the Inspire Scaler database.

6. In clusters, repeat all previous steps for all nodes.

7.2 Uninstalling Nodes No Longer Required in Cluster


To uninstall a node which is no longer required:

1. Sign in to the Inspire Scaler web application and decrease the Expected Number of Nodes accordingly
in the ADMINISTRATION |Cluster and Scaling | Cluster Settings section, i.e. enter the number of all the
nodes that will form the cluster.

2. Adjust the configuration of your HTTP load balancer to reflect the uninstallation of the node.

3. Access the machine of the node you wish to remove and stop the Inspire Scaler service.

Inspire Scaler waits 30 seconds before shutting down to finish any unfinished jobs while no new jobs are
accepted.

4. Go to the ADMINISTRATION |System Monitoring | System Status section and check that the installation
schema reflects the changes, i.e. displays all the currently running nodes.

5. Uninstall the Inspire Scaler node instance from the server.

WARNING Do not uninstall your ICM and database as these are shared across the whole cluster.
7 Uninstallation | 95
7.3 Uninstalling Clusters No Longer Required in Multi Cluster

7.3 Uninstalling Clusters No Longer Required in Multi Cluster


To uninstall a no longer needed cluster from your multi cluster, while preserving the information about finished
jobs and the ability to resubmit jobs from the remaining clusters:

1. Access the database dedicated to the cluster you are uninstalling and do the following:

a) Export the contents of the FINISHED_JOBS and JOBS_RETENTION tables and import them into the same
tables within the database dedicated to one of the remaining clusters.

This ensures the jobs finished by the cluster you are uninstalling remain traceable in Job Search and
that the job retention period is preserved.

b) Create a backup of the AUDIT_LOG table to preserve the information about the occurred system oper-
ations.

2. Export the contents of the shared storage dedicated to the cluster you are uninstalling and import them
into the shared storage dedicated to the same cluster, into which you imported the FINISHED_JOBS and
JOBS_RETENTION tables.

This preserves the ability to resubmit the jobs processed by the cluster you are uninstalling.

3. Access the common database shared across the multi cluster and delete the record about the cluster you
are uninstalling. To do this, use the following SQL statement:

DELETE FROM CLUSTER_GROUPS_CONFIGURATION WHERE CLUSTER_NAME = 'ClusterNumber3'

NOTE Replace ClusterNumber3 for the actual name of the cluster you are uninstalling.

4. Uninstall all the Inspire Scaler nodes by following the instructions in the Uninstalling Inspire Scaler section.

You might also like