You are viewing the RapidMiner Hub documentation for version 10.2 - Check here for latest version
Licensing
Starting from AI Hub version 10.1, Altair Unit Licensing is the default licensing mechanism for Server, Job Agents and Scoring Agents. Please see enforcing RapidMiner license if you need to still use RapidMiner licensing in your updated deployment of AI Hub.
RapidMiner AI Hub and its components like Scoring Agents and Job Agents require a valid license to be used and support the following licensing mechanisms:
- Altair Unit Licensing
- RapidMiner Licenses which can be retrieved from my.rapidminer.com
The following sections outline each mechanism separately.
From 10.1.0 to 10.1.2, environment variable for license configuration has changed.
If you already have a 10.1.0 deployment, please ensure to change LICENSE_ENABLE_ALTAIR=false
(RapidMiner licensing)
to LICENSE_MODE=RAPIDMINER
or LICENSE_ENABLE_ALTAIR=true
(Altair licensing) to LICENSE_MODE=ALTAIR_UNIT
.
Altair Unit Licensing
Altair Unit Licensing is enabled by default for components of AI Hub.
All AI Hub applications report usage statistics via a so called License Agents to a central component called License Proxy. The License Proxy is responsible to talk to the actual Altair License Manager and is included in the default deployment. It needs to be running all the time.
In general, the License Proxy supports:
- On-premise for a locally deployed Altair License Manager, e.g., the
lmx-serv
binary, and - Altair One integration
as operation modes.
When using Altair One integration, the License Proxy has support to authenticate against it with the following authentication types:
- Credentials: This requires setting your Altair One credentials into the environment of the License Proxy. It will automatically request an Auth Code and with the help of the Auth Code it will obtain a static/auth token.
- Auth Code: With the help of an Auth Code which can be obtained from Authorized Machines tab in the Altair One user profile web page, a static/auth token is generated.
- Static Token: A Static/Auth Token is directly used to authenticate against the Altair License Manager.
All of the configuration and authentication process only has to be done once, information is persisted afterwards and any subsequent restarts will re-use existing authentication information properly.
For more information about the License Proxy's functionality, configuration and authentication, please refer to the below sections.
License Agent
The License Agent is a library included into each AI Hub Server component which reports information to the deployment's License Proxy instance.
License Agents send periodic heartbeats to their assigned License Proxy. The URL of the License Proxy to reach out to is
determined by LICENSE_AGENT_PROXY_URL
.
In case the responsible License Proxy cannot reserve any new Altair Units, the License Agent shuts down the application.
License Agents identify their host system with a machineId
. Ensure that ..._LICENSE_AGENT_MACHINE_ID=
is properly
set for each application. This machine identifier must be the same for all applications residing on the same host
and share the same CPU resources. It must be different for different hosts. The identifier is used during
leveling.
See available environment variables for
License Proxy
The License Proxy is an application which manages Altair Units and communicates with an Altair Unit Manager. This Altair Unit Manager can be Altair One or a local deployed version of it.
The License Proxy provides means to manage information sent by License Agents in an AI Hub deployment by listening for heartbeats from all connected License Agents. It is a unique application within one deployment/cluster, but should be present for each cluster if there are multiple, e.g., environments for development, staging, or production.
Main functionality of the License Proxy:
- Draws and reserves units for AI Hub components from your Altair Unit Manager (5 units per CPU, leveling applied).
- Manages life cycle of License Agents, e.g. enforces a shut down of the underlying application if no units are available or there has been no heartbeat.
- Checks-in drawn units only after a certain timeout, so that AI Hub applications can be restarted and updated without directly giving back all drawn units
There are two ways how the License Proxy connects to an Altair Unit Manager: on premise and via Altair One. Those different modes require setting different environment variables which are described in the sections below.
On premise
By default, the on premise mode is enabled inside the License Proxy which sets LICENSE_PROXY_MODE=on_prem
. In addition,
you need to provide the path to your on-premise license manager via ALTAIR_LICENSE_PATH
, e.g. with
ALTAIR_LICENSE_PATH=6200@network-address
, where 6200
is the default port of the Altair license manager
and network-address
is a network address which the License Proxy needs to be able to connect to.
This environment variable is required in any case except for a local Altair License Manager (which is highly unlikely in
production setup).
Altair One
Please make sure that the TZ
time zone environment variable is properly set inside the License Proxy’s environment
configuration.
Altair One can be used to manage your units. For this, you need to set LICENSE_PROXY_MODE=altair_one
and provide
necessary identity information which depends on how you like to authenticate against Altair One.
The authentication process is automatically executed on first start of the License Proxy depending on the configured
environment variables. Information is persisted for any subsequent restarts of the License Proxy. For this to work,
the License Proxy uses file system access at LICENSE_PROXY_BASE_DIR/home
(also known as environment
variable LICENSE_PROXY_HOME_DIR
). By default, this is located at /license-proxy/home
for the docker image. This
location should be sticky, e.g. with a volume or host bind.
Altair One: Authenticate via credentials
The License Proxy authenticates against Altair One via your credentials.
Please set the following environment configuration accordingly.
Property | Value |
---|---|
LICENSE_PROXY_MODE |
altair_one |
LICENSE_UNIT_MANAGER_AUTHENTICATION_TYPE |
credentials |
LICENSE_UNIT_MANAGER_USER_NAME |
<your user name from Altair One> |
LICENSE_UNIT_MANAGER_PASSWORD |
<your password from Altair One> |
Altair One: Authenticate via auth code
The License Proxy authenticates against Altair One via your auth code.
To obtain a valid Auth Code, visit Altair One web page, click on your User Profile and then go to the Authorized Machines tab and click on the Generate button.
Please set the following environment configuration accordingly.
Property | Value |
---|---|
LICENSE_PROXY_MODE |
altair_one |
LICENSE_UNIT_MANAGER_AUTHENTICATION_TYPE |
auth_code |
LICENSE_UNIT_MANAGER_AUTH_CODE |
<your obtained Auth Code from Altair One> |
Altair One: Authenticate via static/auth token
The License Proxy authenticates against Altair One via your static/auth token.
To obtain a valid Static/Auth Token, consult Altair One documentation how to manually generate it.
Please set the following environment configuration accordingly.
Property | Value |
---|---|
LICENSE_PROXY_MODE |
altair_one |
LICENSE_UNIT_MANAGER_AUTHENTICATION_TYPE |
static_token |
LICENSE_UNIT_MANAGER_TOKEN |
<your manually obtained static/auth token> |
Environment configuration overview
Property | Values | Description |
---|---|---|
LICENSE_UNIT_MANAGER_AUTHENTICATION_TYPE |
credentials , auth_code , static_token |
Determines how your account is identified against Altair One, e.g. via a auth code, static token or with your username and password. |
LICENSE_UNIT_MANAGER_AUTH_CODE |
<your auth code> |
Only required when authentication type is set to auth_code . Set to specific Altair One auth code for your account which you can obtain from within the Altair One web interface. |
LICENSE_UNIT_MANAGER_USER_NAME |
<your Altair One username> |
Only required when authentication type is set to credentials . Set to the user name of your Altair One account. |
LICENSE_UNIT_MANAGER_PASSWORD |
<your Altair One password> |
Only required when authentication type is set to credentials . Set to the password of your Altair One account. |
LICENSE_UNIT_MANAGER_TOKEN |
<your static/auth token> |
Only required when authentication type is set to static_token . Set to specific Altair One token for your account. Needs to be generated manually! |
LICENSE_UNIT_MANAGER_RESET_AUTH_TOKEN |
false |
When mode=altair_one : Resets any stored authentication information when already persisted in LICENSE_PROXY_HOME_DIR . |
Troubleshooting
- In case you see an error message similar to
Requested version number is greater than version number in license (Version found in license is: x)
, please make sure to upgrade your Altair License Manager. - In case you see an error that a feature has not been found, please make sure that the License Proxy's
TZ
time zone configuration is properly set.
Validate Altair Unit Licensing succeeded
To see whether Altair Unit Licensing is enabled, you can visit AI Hub Server's web page and go to Management -> Licenses.
You should see altair_unit
as illustrated in the below image.
Leveling
Altair Unit licensing key metric are used CPU resources for which the License Proxy draws Altair Units from the configured Altair License Manager which can be deployed on-premise or use Altair One.
When applications reside on the same host, then only for the maximum number of CPU resources units are drawn. This is called leveling.
Example
- Application A reports 2 CPU and resides on host 1
- Application B reports 1 CPU and resides on host 1
- Application C reports 4 CPU and resides on host 2
- Application D reports 8 CPU and resides on host 2
Because application A and B and C and D reside on the same host. Units are only drawn for their maximum per host. In total, 2 (for A and B) and 8 (for C and D) units will be drawn.
Standalone Altair license for Scoring Agents
Standalone Altair license is only supported for edge devices running with the docker engine. Neither Kubernetes nor OpenShift deployments are supported.
The Scoring Agent is the only AI Hub Server application which also supports Altair standalone license (also known as node lock license).
By default, the .dat
license file needs to be made available inside the Scoring Agent's docker container at the location
/scoring-agent/home/resources/licenses/altair_standalone.dat
. You can either copy the .dat
file into the created docker volume or manually
bind the path to a host system path, e.g. with /home/user/my.dat:/scoring-agent/home/resources/licenses/altair_standalone.dat
.
In addition, you need to instruct the Scoring Agent to switch its license mode with LICENSE_MODE=ALTAIR_STANDALONE
.
Because standalone license files are bound to MAC addresses, you need to expose the MAC address of your license file for the Scoring Agent's docker container. This can be achieved in two ways:
- Set the MAC address of your license file as a docker container argument, e.g. with
--mac-address XX:XX:XX:XX:XX
- Set the docker container's network mode to host with
--network host
.
When configuration has been done properly, the Scoring Agent will start serving and print that it's using Altair standalone license:
InitializerService : Initializing Altair standalone license
InitializerService : Successfully checked out feature 'RapidMinerAIHub' with version '22'
InitializerService : Starting ALJDK check
InitializerService : Initialized Altair standalone license successfully
InitializerService : Altair standalone license information: RapidMinerAIHub (expires on yyyy-mm-dd at hh:mm)
RapidMiner Licensing
RapidMiner licenses for Server, Job Agent and Scoring Agent are available in the Licenses tab of my.rapidminer.com.
To use RapidMiner licensing, you have the option to set the environment variable LICENSE_LICENSE
to the actual license
content by copying and pasting it from the web interface, or you can place the license contents into the proper license
location which depend on the application, though the environment variable key LICENSE_LOCATION
is shared.
Server
For RapidMiner Server to pick up the license, add the license via LICENSE_LICENSE
or add a .lic
file with the license's content into the proper directory in the attached volume residing in
/aihub/home/resources/rapidminer-server/license.lic
in the docker image.
For more information about the home directory and available environment variables, please look into the settings table.
Scoring Agent
Scoring Agents work with a RTS license or a RapidMiner Server license. For the Server license you need to
set SCORING_AGENT_ENABLE_SERVER_LICENSE=true
. In either case, you need to properly add the license via LICENSE_LICENSE
or add a .lic
file with the license's content into the proper directory in the attached volume residing in
/scoring-agent/home/resources/rapidminer-scoring-agent/license.lic
(RTS license) or
/scoring-agent/home/resources/rapidminer-server/license.lic
(Server license) in the docker image.
For more information and available environment variables, please look into the settings table.
Job Agent
Job Agents synchronize RapidMiner licenses automatically. You only need to set LICENSE_LOCATION
or LICENSE_LICENSE
when you’ve disabled resource synchronisation.
Job Agents work with the RapidMiner Server license. When a Job Agent starts, the proper license is retrieved from
RapidMiner Server. If you've disabled resource synchronisation,
then add the license via LICENSE_LICENSE
or add a .lic
file with the license's content into the proper directory in
the attached volume residing in /jobagent/home/resources/rapidminer-server/license.lic
in the docker image.
For more information about available environment variables, please look into the settings table.
Enforce RapidMiner Licensing
Please make sure to properly set the LICENSE_MODE
environment variable for all applications, don’t leave it blank or comment it in in your deployment files
Otherwise the applications fall back to Altair Unit licensing!
By default, AI Hub 10.1+ uses Altair Unit Licensing. If you like to use
RapidMiner licensing instead, set LICENSE_MODE=RAPIDMINER
for each deployed application.
This will require valid RapidMiner licenses being available either set by LICENSE_LICENSE
or LICENSE_LOCATION
.