Categories

Versions

Table of system settings for Job Agents

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, CRON and JOBCOUNT
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 ROTATE caching strategy and defines how many Projects are kept before the last used is evicted.
JOBAGENT_CONTAINER_REPOSITORY_CACHING_CRON_EXPRESSION Used for CRON caching strategy and defines when the cache is evicted.
JOBAGENT_CONTAINER_REPOSITORY_CACHING_IDLE_OFFSET 10000 Used for IDLE caching strategy and defines the offset how long a repository has not been used in milliseconds.
JOBAGENT_CONTAINER_REPOSITORY_CACHING_IDLE_INTERVAL 60 Used for IDLE caching 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 COUNT property
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_OPTIONS instead.
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. Setting RAPIDMINER falls 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/licenses inside the Docker container
LOGGING_... Set logging, e.g. LOGGING_LEVEL_COM_RAPIDMINER=DEBUG for 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_vebosity parameter defined in the process
jobcontainer.system-out-log.enabled true Allow to log System.out calls
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=DEBUG for debug logs of the Job Container classes itself