You are viewing the RapidMiner Hub documentation for version 2024.1 - Check here for latest version
Table of system settings for Job Agents
See also:
This table gives an overview over all Job Agent properties that can be set via environment variables.
This application is a Spring Boot application and therefore those property values can be also applied, e.g.
SPRING_APPLICATION_NAME=Test would change the Spring's application name to Test.
Other properties not listed here should not be changed and have reasonable defaults.
| Property | Default | Description | 
|---|---|---|
| JOBAGENT_APP_ID | A unique ID generated on first start and persisted in $job-agent-home/config/.id.properties. This ID file must be located on a persisted storage. | |
| JOBAGENT_BASE_DIR | /jobagent(docker image) | The base directory of the Job Agent, other directory paths are derived from this base directory. | 
| JOBAGENT_HOME_DIR | $baseDir/home | The Job Agent's home directory | 
| JOBAGENT_LOG_DIR | $baseDir/log | The Job Agent's log directory | 
| JOBAGENT_DATA_DIR | $baseDir/data | The Job Agent's data directory | 
| JOBAGENT_JOBS_DIR | $dataDir/jobs | The Job Agent's jobs directory which stores information related to each job the Job Agent picks up | 
| JOBAGENT_CONTAINERS_DIR | $dataDir/containers | The Job Agent's containers which stores information related to each spawned Job Container | 
| JOBAGENT_QUEUE_ACTIVEMQ_USERNAME | Define broker user | |
| JOBAGENT_QUEUE_ACTIVEMQ_PASSWORD | Define broker password | |
| JOBAGENT_AUTH_REALM | AIHub | Realm to use for Keycloak | 
| JOBAGENT_AUTH_AUTH_SERVER_URL | URL to Keycloak | |
| JOBAGENT_AUTH_SERVICE_CLIENT_ID | aihub-jobagent | The configured Keycloak client | 
| JOBAGENT_AUTH_SERVICE_CLIENT_SECRET | The secret for configured Keycloak client | |
| JOBAGENT_SYNC_ENABLED | true | If synchronization behavior (retrieving EXTENSIONS, JDBC, LIBS, LICENSES and the EXECUTION_CONTEXT from main application) is enabled. | 
| JOBAGENT_SYNC_EXTENSIONS_ENABLED | true | If synchronization behavior is enabled for EXTENSIONS. | 
| JOBAGENT_SYNC_EXTENSIONS_CLEAN_BEFORE | true | If synchronization behavior should clean local files for EXTENSIONS before fetching them from remote. | 
| JOBAGENT_SYNC_JDBC_ENABLED | true | If synchronization behavior is enabled for JDBC. | 
| JOBAGENT_SYNC_JDBC_CLEAN_BEFORE | true | If synchronization behavior should clean local files for JDBC before fetching them from remote. | 
| JOBAGENT_SYNC_LIBS_ENABLED | true | If synchronization behavior is enabled for LIBS. | 
| JOBAGENT_SYNC_LIBS_CLEAN_BEFORE | true | If synchronization behavior should clean local files for LIBS before fetching them from remote. | 
| JOBAGENT_SYNC_LICENSES_ENABLED | true | If synchronization behavior is enabled for LICENSES. | 
| JOBAGENT_SYNC_LICENSES_CLEAN_BEFORE | true | If synchronization behavior should clean local files for LICENSES before fetching them from remote. | 
| JOBAGENT_SYNC_EXECUTION_CONTEXT_ENABLED | true | If synchronization behavior is enabled for EXECUTION_CONTEXT. | 
| JOBAGENT_SYNC_EXECUTION_CONTEXT_CLEAN_BEFORE | true | If synchronization behavior should clean local files for EXECUTION_CONTEXT before fetching them from remote. | 
| JOBAGENT_SYNC_BASE_URL | sync/ | The base URL for synchronization behavior. | 
| JOBAGENT_SYNC_HEALTH_CHECK_URL | $baseUrl/healthcheck | The health check URL for synchronization behavior, derived from base URL. | 
| JOBAGENT_SHUTDOWN_CHECK_DELAY | 1000 | Fixed delay in milliseconds for shutdown event checks | 
| JOBAGENT_RESTART_POLICY | NONE | Defines when and how frequently underlying Job Containers, possible values are NONE,CRONandJOBCOUNT | 
| JOBAGENT_RESTART_MAX_JOBS | Amount of executed jobs before Job Container is restarted, related to JOBCOUNT | |
| JOBAGENT_RESTART_CRON_EXPRESSION | Cron expression to determine when Job Container is restarted in a scheduled manner, related to CRON | |
| JOBAGENT_RESTART_TIMEOUT | Timeout for restarting a container. Job container is killed when the value is reached. | |
| JOBAGENT_CONTAINER_PROCESS_LOGGING_OVERRIDE_ENABLED | false | If overriding process log level during execution is enabled or not | 
| JOBAGENT_CONTAINER_PROCESS_LOGGING_OVERRIDE_LEVEL | ALL | If process log level overriding is enabled, this defines the verbosity, e.g. ALL | 
| JOBAGENT_CONTAINER_CONFIG_DIR | $job-agent-home-dir/config | Config location for the Job Container | 
| JOBAGENT_CONTAINER_LIBS_DIR | $job-agent-base-dir/lib/container | Library location for the Job Container used to determine what is loaded into the classpath of spawned Job Containers | 
| JOBAGENT_CONTAINER_JAR_DIR | $job-agent-base-dir/lib/container/rapidminer-jobcontainer.jar | JAR file location to the Job Container | 
| JOBAGENT_CONTAINER_REPOSITORY_TYPE | remote | Type of the internally loaded repository (remote) for projects. Should not be changed. | 
| JOBAGENT_CONTAINER_REPOSITORY_NAME | _LOCAL | Name of the internally registered repository. Should not be changed. | 
| JOBAGENT_CONTAINER_REPOSITORY_CACHING_STRATEGY | ROTATE | Defines the caching strategy of already seen Projects inside the Job Container. Possible values are NONE(no caching),ROTATE(evict latest used),CRON(depending on a fixed schedule),IDLE(depending on an idle time). | 
| JOBAGENT_CONTAINER_REPOSITORY_CACHING_ROTATE_COUNT | 2 | Used for ROTATEcaching strategy and defines how many Projects are kept before the last used is evicted. | 
| JOBAGENT_CONTAINER_REPOSITORY_CACHING_CRON_EXPRESSION | Used for CRONcaching strategy and defines when the cache is evicted. | |
| JOBAGENT_CONTAINER_REPOSITORY_CACHING_IDLE_OFFSET | 10000 | Used for IDLEcaching strategy and defines the offset how long a repository has not been used in milliseconds. | 
| JOBAGENT_CONTAINER_REPOSITORY_CACHING_IDLE_INTERVAL | 60 | Used for IDLEcaching strategy and defines how frequently the Projects are checked in minutes. | 
| JOBAGENT_CONTAINER_REPOSITORY_CACHING_LOCK_BACKOFF | [1000, 2000, 3000, 5000, 8000, 16000] | List of retry attempts for initially cloning the Project in milliseconds. | 
| JOBAGENT_CONTAINER_REPOSITORY_CACHING_USE_LFS_LIGHTWEIGHT | true | If files of a Project should only be requested when they're actually required during process execution. | 
| JOBAGENT_CONTAINER_PLUGINS_DIR | $job-agent-base-dir/lib/container/plugins | The Job Container's plugins directory used for bundled extensions | 
| JOBAGENT_CONTAINER_JDBC_DIR | $job-agent-home-dir/resources/jdbc | The Job Container's JDBC directory | 
| JOBAGENT_CONTAINER_EXTENSIONS_DIR | $job-agent-home-dir/resources/extensions | The Job Container's extensions directory | 
| JOBAGENT_CONTAINER_CUSTOM_LIBS_DIR | $job-agent-home-dir/resources/libs | The Job Container's custom library directory | 
| JOBAGENT_CONTAINER_INIT_WITH_PROPERTIES_ENABLED | false | Enable to make the Job Container read a dedicated file for initialization. | 
| JOBAGENT_CONTAINER_INIT_WITH_PROPERTIES_LOCATION | $job-agent-home-dir/config/rapidminer/rapidminer-init.properties | Properties file used for Job Container initialization. | 
| JOBAGENT_CONTAINER_COUNT | 1 | The Job Containers amount the Job Agent will spawn in parallel | 
| JOBAGENT_CONTAINER_MAX_ERROR_AMOUNT_BEFORE_SPAWN | 5 | Number to determine how often a Job Container can not respond before the Job Agent will forcefully restart it. | 
| JOBAGENT_CONTAINER_MAX_TIME_BETWEEN_ERRORS | 5000 | Maximum time (in milliseconds) between errors during the health check | 
| JOBAGENT_CONTAINER_LISTEN_SCHEME | http | Listen scheme of the Job Containers spawned by the Job Agent | 
| JOBAGENT_CONTAINER_LISTEN_ADDRESS | localhost | Listen address of the Job Containers spawned by the Job Agent | 
| JOBAGENT_CONTAINER_LISTEN_PORT_RANGE_START | 10000 | Listen port range of the Job Containers spawned by the Job Agent, are incremented by one for each additional Job Container, see COUNTproperty | 
| JOBAGENT_CONTAINER_STARTUP_TIMEOUT | 180000 | Maximum time to wait (in milliseconds) before a Job Container is marked as not started successfully | 
| JOBAGENT_CONTAINER_MEMORY_LIMIT | 2048 | Memory in MB limit for each Job Container | 
| JOBAGENT_CONTAINER_USE_SYSTEM_TEMP_DIR | false | By default, the Job Container's temporary directory is located inside it's working directory and does not use the system's temporary folder | 
| JOBAGENT_CONTAINER_JVM_PROPERTIES_DEFAULTS | Xms521m,XX:+UseG1GC,XX:G1HeapRegionSize=32m,XX:-HeapDumpOnOutOfMemoryError,Djava.awt.headless=true,Dlog4j2.formatMsgNoLookups=true | List of default JVM arguments passed to each Job Container. For additions, use JVM_CUSTOM_OPTIONS. | 
| JOBAGENT_CONTAINER_JVM_CUSTOM_OPTIONS | A simple line to add new JVM arguments passed to each Job Container, e.g. -Dmyproperty=value. It's recommended to use this property to transpose additional arguments to the Job Container. | |
| JOBAGENT_CONTAINER_JVM_CUSTOM_PROPERTIES | List of custom JVM arguments passed to each Job Container. It's recommended to use JVM_CUSTOM_OPTIONSinstead. | |
| JOBAGENT_CONTAINER_JVM_PROPERTIES | Overwrite the default JVM properties | |
| JOBAGENT_CONTAINER_REST_TEMPLATE_BACK_OFF | [5000, 10000, 20000] | The backoff used for communication with the job container | 
| JOBAGENT_CONTAINER_KILL_FORCIBLY_TIMEOUT | 5000 | Timeout after a process is killed forcibly if it is not dead yet after receiving the destroy command | 
| JOBAGENT_JOB_STATE_EVENTS_CLEANUP | true | If old events which have already been marked as sent to the main application, should be cleaned up. | 
| JOBAGENT_JOB_STATE_EVENTS_INTERVAL | 60000 | Interval in which candidates of already sent events are checked for deletion. | 
| JOBAGENT_PLATFORM_STD_REDIRECT_ERROR_ENABLED | false | If logging of the stderr for the Job Container is enabled or not. | 
| JOBAGENT_PLATFORM_STD_REDIRECT_ERROR_PARENT_DIR | $job-agent-base-dir/home/log | The Job Container's stderr directory | 
| JOBAGENT_PLATFORM_STD_REDIRECT_OUT_ENABLED | false | If logging of the stdout for the Job Container is enabled or not. | 
| JOBAGENT_PLATFORM_STD_REDIRECT_OUT_PARENT_DIR | $job-agent-base-dir/home/log | The Job Container's stdout directory | 
| JOBAGENT_SCHEDULED_JOB_CONTAINER_CHECK_STARTING | 1000 | Time in milliseconds between invoking check for starting Job Containers | 
| JOBAGENT_SCHEDULED_JOB_CONTAINER_CHECK_RUNNING | 1000 | Time in milliseconds between invoking check for running Job Containers | 
| JOBAGENT_SCHEDULED_JOB_CONTAINER_CHECK_EXECUTING | 500 | Time in milliseconds between invoking check for executing Job Containers | 
| JOBAGENT_SCHEDULED_JOB_CONTAINER_CHECK_CAPACITY | 1000 | Time in milliseconds between invoking capacity check (available Job Containers) | 
| JOBAGENT_SCHEDULED_JOB_CONTAINER_CHECK_UNREACHABLE | 1000 | Time in milliseconds between invoking check for unreachable Job Containers | 
| JOBAGENT_SCHEDULED_JOB_CONTAINER_CHECK_SPAWN | 1000 | Time in milliseconds between invoking check for spawning new Job Containers | 
| JOBAGENT_SCHEDULED_JOB_CONTAINER_CHECK_RESTART | 1000 | Time in milliseconds between invoking check for restarting Job Containers | 
| JOBAGENT_SCHEDULED_JOB_CONTAINER_CHECK_TOKEN | 5000 | Time in milliseconds between invoking check token validity of Job Containers | 
| JOBAGENT_SCHEDULED_JOB_STATUS_UPDATE | 2000 | Time in milliseconds between invoking REST request to Job Containers to fetch the progress of execution | 
| JOBAGENT_SCHEDULED_AGENT_STATE_UPDATE | 1000 | Time in milliseconds between invoking check of unsent events for jobs and to send them back to the main application | 
| JOBAGENT_SCHEDULED_AGENT_STATUS_UPDATE | 10000 | Time in milliseconds between invoking check of Job Agent's state and sending it back to the main application (heartbeat) | 
| JOBAGENT_SCHEDULED_AGENT_SYNC_REFETCH | 5000 | Time in milliseconds between invoking check of a newly arrived sync fetch message | 
| JOBAGENT_SCHEDULED_JOB_TOKEN_UPDATE | 240000 | Time in milliseconds between invoking renewal of a token | 
| JOBAGENT_SCHEDULED_JOB_STATE_UPDATE | 2000 | Time in milliseconds between invoking check of unsent events for jobs and to send them back to the main application | 
| JOBAGENT_QUEUE_AGENT_COMMAND | __agentCommand | ActiveMQ queue for agent commands | 
| JOBAGENT_QUEUE_AGENT_HEARTBEAT | __agentHeartbeat | ActiveMQ queue for agent heartbeats | 
| JOBAGENT_QUEUE_JOB_REQUEST | DEFAULT | ActiveMQ queue for job requests | 
| JOBAGENT_QUEUE_JOB_LOG | __jobLog | ActiveMQ queue for log requests | 
| JOBAGENT_QUEUE_JOB_STATUS | __jobBatchUpdate | ActiveMQ queue for job status updated | 
| JOBAGENT_QUEUE_SYNC_COMMAND | __agentCommand | ActiveMQ queue for sync commands | 
| JOBAGENT_QUEUE_JOB_BLOCK | __repositoryBlock | ActiveMQ persistence topic for blocking job execution. | 
| JOBAGENT_QUEUE_RECEIVE_TIMEOUT | 5000 | ActiveMQ queue receive timeout for JMS listeners | 
| JOBAGENT_QUEUE_CACHE_LEVEL | 4 | ActiveMQ queue cache level for JMS listeners | 
| JOBAGENT_QUEUE_TASK_EXECUTOR_COUNT | 3 | ActiveMQ queue JMS listener threads | 
| JOBAGENT_QUEUE_ACTIVEMQ_MAXIMUM_JOB_REDELIVERIES | 2 | ActiveMQ queue JMS listener per job maximum redelivery attempts | 
| JOBAGENT_AUDIT_ENABLED | false | If audit is enabled to see additional information about user changes | 
| JOBAGENT_LICENSE_AGENT_PROXY_URL | The URL the License Agent will use to report to | |
| JOBAGENT_LICENSE_AGENT_PROXY_CONNECTION_TIMEOUT | 120 | The connection timeout to the proxy used by the License Agent | 
| JOBAGENT_LICENSE_AGENT_PROXY_RESPONSE_TIMEOUT | 120 | The response timeout to the proxy used by the License Agent | 
| JOBAGENT_LICENSE_AGENT_MACHINE_ID | The applications machine id, must be unique across different host machines, but can be identical for applications running on the same host | |
| JOBAGENT_LICENSE_AGENT_APPLICATION_NAME | Job Agent | The application name the License Agent will report | 
| JOBAGENT_LICENSE_AGENT_POOL_SIZE | 5 | The executor threads used by the License Agent to invoke heartbeats | 
| LICENSE_MODE | ALTAIR_UNIT | Enabled by default to use Altair Unit licensing. Requires *_LICENSE_AGENT_*and*_AUTH_*settings. SettingRAPIDMINERfalls back to RapidMiner licensing | 
| LICENSE_LICENSE | Directly set a RapidMiner license string | |
| LICENSE_LOCATION | By default, points to the parent folder where licenses reside in, e.g. $appHome/resources/licensesinside the Docker container | |
| LOGGING_... | Set logging, e.g. LOGGING_LEVEL_COM_RAPIDMINER=DEBUGfor debug logs of all Altair RapidMiner classes | |
| BROKER_ACTIVEMQ_HOST | localhost | Define broker host | 
| BROKER_ACTIVEMQ_PORT | 61616 | Define broker port | 
| BROKER_ACTIVEMQ_USERNAME | Define broker user | |
| BROKER_ACTIVEMQ_PASSWORD | Define broker password | |
| BROKER_ACTIVEMQ_URI | Define broker URI | |
| AIHUB_CONNECTION_PROTOCOL | http | Define AI Hub protocol for internal or external connectivity | 
| AIHUB_CONNECTION_HOST | localhost | Define AI Hub host for internal or external connectivity | 
| AIHUB_CONNECTION_PORT | 8080 | Define AI Hub port for internal or external connectivity | 
| AIHUB_CONNECTION_CONTEXT_PATH | api/v1/ | Define AI Hub context path for internal or external connectivity | 
Attributes available during execution in a Job Agent / Job Container
rapidminer.aihub.connection.protocol=
rapidminer.aihub.connection.host=
rapidminer.aihub.connection.port=
rapidminer.aihub.connection.context-path=
rapidminer.aihub.process.location=
com.rapidminer.auth.jwt.token=
com.rapidminer.aihub.user_id=
Job Container
The Job Container properties are handled in a special way, because they are passed to the Job Container by the Job Agent during start.
All properties prefixed with JOBAGENT_CONTAINER_ are automatically transposed to the Job Container, some are transposed
automatically. If you need to pass advanced properties not transposed by the Job Agent itself, please use
JOBAGENT_CONTAINER_JVM_CUSTOM_OPTIONS with one of the following properties:
| Property | Default | Description | 
|---|---|---|
| jobcontainer.process.logging.override.enabled | false | Allows to override process logging | 
| jobcontainer.process.logging.override.level | ALL | Set the override log level of the process which ignored the log_vebosityparameter defined in the process | 
| jobcontainer.system-out-log.enabled | true | Allow to log System.outcalls | 
| jobcontainer.system-out-log.out-level | info | The level of out messages | 
| jobcontainer.system-out-log.err-level | error | The level of error messages | 
| jobcontainer.register-default-symmetric-encryption-context.enabled | true | Enabled registration of Project encryption context | 
| jobcontainer.register-default-symmetric-encryption-context.key-location | ${container-dir}/.RapidMiner/encryption/symmetric/default-local-context.rmek | Default location of context's key | 
| jobcontainer.jobs-cache-size | 10 | This amount of jobs will be kept in cache also after they finished | 
| jobcontainer.progress-update | 1000 | Update process trace every second | 
| jobcontainer.init-with-properties.enabled | false | If Altair RapidMiner should be initialized with additional init properties on Job Container start | 
| jobcontainer.init-with-properties.location | Used properties file for init, when enabled | |
| jobcontainer.remote.versioned.backoff | [1000, 2000, 3000, 5000, 8000, 16000] | Values in milliseconds how long to wait before each try to commit after a job finished | 
| jobcontainer.remote.versioned.auto-commit-strategy | OURS | Possible values: OURS(keep changes done in the Job Container and merge them,NONE` to skip auto-commit and evict any change done locally (for testing) | 
| jobcontainer.task-scheduler.pool-size | 10 | Job Container's scheduler used for periodic checks pool size | 
| jobcontainer.task-scheduler.thread-priority | 8 | Job Container's scheduler used for periodic checks pool size | 
| jobcontainer.memory-check-delay | 5000 | Time in milliseconds how frequently to check for out of memory of the Job Container | 
| jobcontainer.memory-consumption-threshold | 0.95 | Threshold when to consider Job Container out of memory in decimal percent | 
| jobcontainer.repository.type | remote | See Job Agent's explanation. | 
| jobcontainer.repository.caching.strategy | ROTATE | See Job Agent's explanation. | 
| jobcontainer.repository.caching.rotate-count | 2 | See Job Agent's explanation. | 
| jobcontainer.repository.caching.lock-backoff | [1000, 2000, 3000, 5000, 8000, 16000] | See Job Agent's explanation. | 
| jobcontainer.load-user-certificates | false | If user certificates should be loaded | 
| audit.enabled | false | If audit is enabled. See Job Agent's explanation. | 
| logging.* | Set logging, e.g. logging.level.com.rapidminer.execution.jobcontainer=DEBUGfor debug logs of the Job Container classes itself |