Package org.apache.storm

## Class DaemonConfig

- java.lang.Object
- - org.apache.storm.DaemonConfig

- All Implemented Interfaces:
    `Validated`

      public class DaemonConfig
      extends Object
      implements Validated

  Storm configs are specified as a plain old map. This class provides constants for all the configurations possible on a Storm cluster. Each constant is paired with an annotation that defines the validity criterion of the corresponding field. Default values for these configs can be found in defaults.yaml.

  This class extends `Config` for supporting Storm Daemons.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static String` | `BLACKLIST_SCHEDULER_ASSUME_SUPERVISOR_BAD_BASED_ON_BAD_SLOT` | Whether `BlacklistScheduler` will assume the supervisor is bad based on bad slots or not.
    `static String` | `BLACKLIST_SCHEDULER_ENABLE_SEND_ASSIGNMENT_FAILURES` | Enables blacklisting support for supervisors with failed send assignment calls.
    `static String` | `BLACKLIST_SCHEDULER_REPORTER` | The class that the blacklist scheduler will report the blacklist.
    `static String` | `BLACKLIST_SCHEDULER_RESUME_TIME` | The number of seconds that the blacklisted slots or supervisor will be resumed.
    `static String` | `BLACKLIST_SCHEDULER_STRATEGY` | The class that specifies the eviction strategy to use in blacklist scheduler.
    `static String` | `BLACKLIST_SCHEDULER_TOLERANCE_COUNT` | The number of hit count that will trigger blacklist in tolerance time.
    `static String` | `BLACKLIST_SCHEDULER_TOLERANCE_TIME` | The number of seconds that the blacklist scheduler will concern of bad slots or supervisors.
    `static String` | `DEV_ZOOKEEPER_PATH` | The path to use as the zookeeper dir when running a zookeeper server via "storm dev-zookeeper".
    `static String` | `DRPC_AUTHORIZER` | Class name for authorization plugin for DRPC client.
    `static String` | `DRPC_CHILDOPTS` | Childopts for Storm DRPC Java process.
    `static String` | `DRPC_DISABLE_HTTP_BINDING` | This controls wheather Storm DRPC should bind to http port even if drpc.http.port is > 0.
    `static String` | `DRPC_HTTP_CREDS_PLUGIN` | Class name of the HTTP credentials plugin for DRPC.
    `static String` | `DRPC_HTTP_FILTER` | A class implementing jakarta.servlet.Filter for DRPC HTTP requests.
    `static String` | `DRPC_HTTP_FILTER_PARAMS` | Initialization parameters for the jakarta.servlet.Filter of the DRPC HTTP service.
    `static String` | `DRPC_HTTP_PORT` | This port is used by Storm DRPC for receiving HTTP DPRC requests from clients.
    `static String` | `DRPC_HTTPS_ENABLE_SSL_RELOAD` | If set to true, keystore and truststore for DRPC Server will be automatically reloaded when modified.
    `static String` | `DRPC_HTTPS_KEY_PASSWORD` | Password to the private key in the keystore for setting up HTTPS (SSL).
    `static String` | `DRPC_HTTPS_KEYSTORE_PASSWORD` | Password to the keystore used by Storm DRPC for setting up HTTPS (SSL).
    `static String` | `DRPC_HTTPS_KEYSTORE_PATH` | Path to the keystore used by Storm DRPC for setting up HTTPS (SSL).
    `static String` | `DRPC_HTTPS_KEYSTORE_TYPE` | Type of keystore used by Storm DRPC for setting up HTTPS (SSL).
    `static String` | `DRPC_HTTPS_NEED_CLIENT_AUTH` |
    `static String` | `DRPC_HTTPS_PORT` | This port is used by Storm DRPC for receiving HTTPS (SSL) DPRC requests from clients.
    `static String` | `DRPC_HTTPS_TRUSTSTORE_PASSWORD` | Password to the truststore used by Storm DRPC setting up HTTPS (SSL).
    `static String` | `DRPC_HTTPS_TRUSTSTORE_PATH` | Path to the truststore used by Storm DRPC setting up HTTPS (SSL).
    `static String` | `DRPC_HTTPS_TRUSTSTORE_TYPE` | Type of truststore used by Storm DRPC for setting up HTTPS (SSL).
    `static String` | `DRPC_HTTPS_WANT_CLIENT_AUTH` | Password to the truststore used by Storm DRPC setting up HTTPS (SSL).
    `static String` | `DRPC_REQUEST_TIMEOUT_SECS` | The timeout on DRPC requests within the DRPC server.
    `static String` | `ISOLATION_SCHEDULER_MACHINES` | A map from topology name to the number of machines that should be dedicated for that topology.
    `static String` | `JAVA_LIBRARY_PATH` | This value is passed to spawned JVMs (e.g., Nimbus, Supervisor, and Workers) for the java.library.path value.
    `static String` | `LOGS_GROUPS` | A list of groups allowed to view logs via the Log Viewer.
    `static String` | `LOGS_USERS` | A list of users allowed to view logs via the Log Viewer.
    `static String` | `LOGVIEWER_APPENDER_NAME` | Appender name used by log viewer to determine log directory.
    `static String` | `LOGVIEWER_CHILDOPTS` | Childopts for log viewer java process.
    `static String` | `LOGVIEWER_CLEANUP_AGE_MINS` | How many minutes since a log was last modified for the log to be considered for clean-up.
    `static String` | `LOGVIEWER_CLEANUP_INTERVAL_SECS` | How often to clean up old log files.
    `static String` | `LOGVIEWER_DISABLE_HTTP_BINDING` | This controls wheather Storm Logviewer should bind to http port even if logviewer.port is > 0.
    `static String` | `LOGVIEWER_FILTER` | A class implementing jakarta.servlet.Filter for authenticating/filtering Logviewer requests.
    `static String` | `LOGVIEWER_FILTER_PARAMS` | Initialization parameters for the jakarta.servlet.Filter for Logviewer.
    `static String` | `LOGVIEWER_HTTPS_ENABLE_SSL_RELOAD` | If set to true, keystore and truststore for Logviewer will be automatically reloaded when modified.
    `static String` | `LOGVIEWER_HTTPS_KEY_PASSWORD` | Password to the private key in the keystore for setting up HTTPS (SSL).
    `static String` | `LOGVIEWER_HTTPS_KEYSTORE_PASSWORD` | Password for the keystore for HTTPS for Storm Logviewer.
    `static String` | `LOGVIEWER_HTTPS_KEYSTORE_PATH` | Path to the keystore containing the certs used by Storm Logviewer for HTTPS communications.
    `static String` | `LOGVIEWER_HTTPS_KEYSTORE_TYPE` | Type of the keystore for HTTPS for Storm Logviewer.
    `static String` | `LOGVIEWER_HTTPS_NEED_CLIENT_AUTH` |
    `static String` | `LOGVIEWER_HTTPS_PORT` | Storm Logviewer HTTPS port.
    `static String` | `LOGVIEWER_HTTPS_TRUSTSTORE_PASSWORD` | Password for the truststore for HTTPS for Storm Logviewer.
    `static String` | `LOGVIEWER_HTTPS_TRUSTSTORE_PATH` | Path to the truststore containing the certs used by Storm Logviewer for HTTPS communications.
    `static String` | `LOGVIEWER_HTTPS_TRUSTSTORE_TYPE` | Type of the truststore for HTTPS for Storm Logviewer.
    `static String` | `LOGVIEWER_HTTPS_WANT_CLIENT_AUTH` | Password to the truststore used by Storm Logviewer setting up HTTPS (SSL).
    `static String` | `LOGVIEWER_MAX_PER_WORKER_LOGS_SIZE_MB` | The maximum number of bytes per worker's files can take up in MB.
    `static String` | `LOGVIEWER_MAX_SUM_WORKER_LOGS_SIZE_MB` | The maximum number of bytes all worker log files can take up in MB.
    `static String` | `LOGVIEWER_PORT` | HTTP UI port for log viewer.
    `static String` | `MULTITENANT_SCHEDULER_USER_POOLS` | A map from the user name to the number of machines that should that user is allowed to use.
    `static String` | `NIMBUS_ASSIGNMENTS_SERVICE_THREAD_QUEUE_SIZE` | This controls the number of working thread queue size of assignment service.
    `static String` | `NIMBUS_ASSIGNMENTS_SERVICE_THREADS` | This controls the number of working threads for distributing master assignments to supervisors.
    `static String` | `NIMBUS_AUTHORIZER` | Class name for authorization plugin for Nimbus.
    `static String` | `NIMBUS_BLOBSTORE` | What blobstore implementation nimbus should use.
    `static String` | `NIMBUS_BLOBSTORE_EXPIRATION_SECS` | During operations with the blob store, via master, how long a connection is idle before nimbus considers it dead and drops the session and any associated connections.
    `static String` | `NIMBUS_CHILDOPTS` | This parameter is used by the storm-deploy project to configure the jvm options for the nimbus daemon.
    `static String` | `NIMBUS_CLEANUP_INBOX_FREQ_SECS` | How often nimbus should wake the cleanup thread to clean the inbox.
    `static String` | `NIMBUS_CODE_SYNC_FREQ_SECS` | How often nimbus's background thread to sync code for missing topologies should run.
    `static String` | `NIMBUS_CREDENTIAL_RENEW_FREQ_SECS` | How often nimbus should wake up to renew credentials if needed.
    `static String` | `NIMBUS_DAEMON_USER` | This is the user that the Nimbus daemon process is running as.
    `static String` | `NIMBUS_EXECUTORS_PER_TOPOLOGY` | A number representing the maximum number of executors any single topology can acquire.
    `static String` | `NIMBUS_FILE_COPY_EXPIRATION_SECS` | During upload/download with the master, how long an upload or download connection is idle before nimbus considers it dead and drops the connection.
    `static String` | `NIMBUS_IMPERSONATION_AUTHORIZER` | Impersonation user ACL config entries.
    `static String` | `NIMBUS_INBOX_JAR_EXPIRATION_SECS` | The length of time a jar file lives in the inbox before being deleted by the cleanup thread.
    `static String` | `NIMBUS_MONITOR_FREQ_SECS` | How often nimbus should wake up to check heartbeats and do reassignments.
    `static String` | `NIMBUS_SLOTS_PER_TOPOLOGY` | A number representing the maximum number of workers any single topology can acquire.
    `static String` | `NIMBUS_SUPERVISOR_TIMEOUT_SECS` | How long before a supervisor can go without heartbeating before nimbus considers it dead and stops assigning new work to it.
    `static String` | `NIMBUS_TASK_LAUNCH_SECS` | A special timeout used when a task is initially launched.
    `static String` | `NIMBUS_TASK_TIMEOUT_SECS` | How long without heartbeating a task can go before nimbus will consider the task dead and reassign it to another location.
    `static String` | `NIMBUS_TOPOLOGY_ACTION_NOTIFIER_PLUGIN` | FQCN of a class that implements `I` @see org.apache.storm.nimbus.ITopologyActionNotifierPlugin for details.
    `static String` | `NIMBUS_TOPOLOGY_BLOBSTORE_DELETION_DELAY_MS` | This controls the number of milliseconds nimbus will wait before deleting a topology blobstore once detected it is able to delete.
    `static String` | `NIMBUS_TOPOLOGY_VALIDATOR` | A custom class that implements ITopologyValidator that is run whenever a topology is submitted.
    `static String` | `NIMBUS_WORKER_HEARTBEATS_RECOVERY_STRATEGY_CLASS` | class controls heartbeats recovery strategy.
    `static String` | `PACEMAKER_CHILDOPTS` | This parameter is used by the storm-deploy project to configure the jvm options for the pacemaker daemon.
    `static String` | `PACEMAKER_MAX_THREADS` | The maximum number of threads that should be used by the Pacemaker.
    `static String` | `RESOURCE_AWARE_SCHEDULER_MAX_STATE_SEARCH` |
    `static String` | `RESOURCE_AWARE_SCHEDULER_MAX_TOPOLOGY_SCHEDULING_ATTEMPTS` | The maximum number of times that the RAS will attempt to schedule a topology.
    `static String` | `RESOURCE_AWARE_SCHEDULER_PRIORITY_STRATEGY` | the class that specifies the scheduling priority strategy to use in ResourceAwareScheduler.
    `static String` | `RESOURCE_AWARE_SCHEDULER_USER_POOLS` | A map of users to another map of the resource guarantees of the user.
    `static String` | `SCHEDULER_CONFIG_CACHE_EXPIRATION_SECS` | How long before a scheduler considers its config cache expired.
    `static String` | `SCHEDULER_CONFIG_LOADER_ARTIFACTORY_BASE_DIRECTORY` | It is the part of the uri, configurable in Artifactory, which represents the top of the directory tree.
    `static String` | `SCHEDULER_CONFIG_LOADER_POLLTIME_SECS` | It is the frequency at which the plugin will call out to artifactory instead of returning the most recently cached result.
    `static String` | `SCHEDULER_CONFIG_LOADER_TIMEOUT_SECS` | It is the amount of time an http connection to the artifactory server will wait before timing out.
    `static String` | `SCHEDULER_CONFIG_LOADER_URI` | For ArtifactoryConfigLoader, this can either be a reference to an individual file in Artifactory or to a directory.
    `static String` | `SCHEDULER_DISPLAY_RESOURCE` | Whether we want to display all the resource capacity and scheduled usage on the UI page.
    `static String` | `SCHEDULING_TIMEOUT_SECONDS_PER_TOPOLOGY` | Max time to attempt to schedule one topology.
    `static String` | `STORM_CGROUP_CGEXEC_CMD` | full path to cgexec command.
    `static String` | `STORM_CGROUP_HIERARCHY_NAME` | name for the cgroup hierarchy.
    `static String` | `STORM_CGROUP_INHERIT_CPUSET_CONFIGS` | To determine whether or not to cgroups should inherit cpuset.cpus and cpuset.mems config values form parent cgroup Note that cpuset.cpus and cpuset.mems configs in a cgroup must be initialized (i.e.
    `static String` | `STORM_CGROUP_MEMORY_ENFORCEMENT_ENABLE` | Java does not always play nicely with cgroups.
    `static String` | `STORM_CGROUP_MEMORY_LIMIT_TOLERANCE_MARGIN_MB` | Please use STORM_SUPERVISOR_MEMORY_LIMIT_TOLERANCE_MARGIN_MB instead.
    `static String` | `STORM_CGROUP_RESOURCES` | resources to to be controlled by cgroups.
    `static String` | `STORM_CLUSTER_METRICS_CONSUMER_PUBLISH_INTERVAL_SECS` | How often cluster metrics data is published to metrics consumer.
    `static String` | `STORM_CLUSTER_METRICS_CONSUMER_REGISTER` | A list of classes implementing IClusterMetricsConsumer (See storm.yaml.example for exact config format).
    `static String` | `STORM_DAEMON_METRICS_REPORTER_CSV_LOG_DIR` | Specify the csv reporter directory for CvsPreparableReporter daemon metrics reporter.
    `static String` | `STORM_DAEMON_METRICS_REPORTER_INTERVAL_SECS` | We report the metrics with this interval period.
    `static String` | `STORM_DAEMON_METRICS_REPORTER_PLUGIN_DOMAIN` | Specify the domain for daemon metrics reporter plugin to limit reporting to specific domain.
    `static String` | `STORM_DAEMON_METRICS_REPORTER_PLUGINS` | A list of daemon metrics reporter plugin class names.
    `static String` | `STORM_HEALTH_CHECK_DIR` | The directory where storm's health scripts go.
    `static String` | `STORM_HEALTH_CHECK_FAIL_ON_TIMEOUTS` | Boolean setting to configure if health checks should fail when timeouts occur or not.
    `static String` | `STORM_HEALTH_CHECK_TIMEOUT_MS` | The time to allow any given healthcheck script to run before it is marked failed due to timeout.
    `static String` | `STORM_LOG4J2_CONF_DIR` | A directory that holds configuration files for log4j2.
    `static String` | `STORM_METRIC_PROCESSOR_CLASS` | Class implementing WorkerMetricsProcessor.
    `static String` | `STORM_METRIC_STORE_CLASS` | Class implementing MetricStore.
    `static String` | `STORM_NETTY_FLUSH_CHECK_INTERVAL_MS` | We check with this interval that whether the Netty channel is writable and try to write pending messages.
    `static String` | `STORM_NIMBUS_ZOOKEEPER_ACLS_CHECK` | In nimbus on startup check if all of the zookeeper ACLs are correct before starting.
    `static String` | `STORM_NIMBUS_ZOOKEEPER_ACLS_FIXUP` | In nimbus on startup check if all of the zookeeper ACLs are correct before starting.
    `static String` | `STORM_OCI_ALLOWED_IMAGES` | A list of oci image that are allowed.
    `static String` | `STORM_OCI_CGROUP_PARENT` | The cgroup root for oci container.
    `static String` | `STORM_OCI_IMAGE` | Default oci image to use if the topology doesn't specify which oci image to use.
    `static String` | `STORM_OCI_IMAGE_HDFS_TOPLEVEL_DIR` | The HDFS location under which the oci image manifests, layers, and configs directories exist.
    `static String` | `STORM_OCI_IMAGE_TAG_TO_MANIFEST_PLUGIN` | The plugin to be used to get the image-tag to manifest mappings.
    `static String` | `STORM_OCI_LAYER_MOUNTS_TO_KEEP` | Target count of OCI layer mounts that we should keep on disk at one time.
    `static String` | `STORM_OCI_MANIFEST_TO_RESOURCES_PLUGIN` | The plugin to be used to get oci resource according to the manifest.
    `static String` | `STORM_OCI_NSCD_DIR` | The directory of nscd - name service cache daemon, e.g.
    `static String` | `STORM_OCI_READONLY_BINDMOUNTS` | A list of read only bind mounted directories.
    `static String` | `STORM_OCI_READWRITE_BINDMOUNTS` | A list of read-write bind mounted directories.
    `static String` | `STORM_OCI_RESOURCES_LOCAL_DIR` | The local directory for localized oci resources.
    `static String` | `STORM_OCI_RESOURCES_LOCALIZER` | The plugin to use for oci resources localization.
    `static String` | `STORM_OCI_SECCOMP_PROFILE` | Specify the seccomp Json file to be used as a seccomp filter.
    `static String` | `STORM_RESOURCE_ISOLATION_PLUGIN` | The plugin to be used for resource isolation.
    `static String` | `STORM_RESOURCE_ISOLATION_PLUGIN_ENABLE` | flag to determine whether to use a resource isolation plugin Also determines whether the unit tests for cgroup runs.
    `static String` | `STORM_ROCKSDB_CREATE_IF_MISSING` | RocksDB create if missing flag.
    `static String` | `STORM_ROCKSDB_LOCATION` | RocksDB file location.
    `static String` | `STORM_ROCKSDB_METADATA_STRING_CACHE_CAPACITY` | RocksDB metadata cache capacity.
    `static String` | `STORM_ROCKSDB_METRIC_DELETION_PERIOD_HOURS` | RocksDB setting for period of metric deletion thread.
    `static String` | `STORM_ROCKSDB_METRIC_RETENTION_HOURS` | RocksDB setting for length of metric retention.
    `static String` | `STORM_SCHEDULER` | A global task scheduler used to assign topologies's tasks to supervisors' workers.
    `static String` | `STORM_SUPERVISOR_CGROUP_ROOTDIR` | root directory for cgoups.
    `static String` | `STORM_SUPERVISOR_HARD_LIMIT_MEMORY_OVERAGE_MB` | If the memory usage of a worker goes over its limit by this value is it shot immediately.
    `static String` | `STORM_SUPERVISOR_HARD_MEMORY_LIMIT_MULTIPLIER` | A multiplier for the memory limit of a worker that will have the supervisor shoot it immediately.
    `static String` | `STORM_SUPERVISOR_LOW_MEMORY_THRESHOLD_MB` | If the amount of memory that is free in the system (either on the box or in the supervisor's cgroup) is below this number (in MB) consider the system to be in low memory mode and start shooting workers if they are over their limit.
    `static String` | `STORM_SUPERVISOR_MEDIUM_MEMORY_GRACE_PERIOD_MS` | The number of milliseconds that a worker is allowed to be over their limit when there is a medium amount of memory free in the system.
    `static String` | `STORM_SUPERVISOR_MEDIUM_MEMORY_THRESHOLD_MB` | If the amount of memory that is free in the system (either on the box or in the supervisor's cgroup) is below this number (in MB) consider the system to be a little low on memory and start shooting workers if they are over their limit for a given grace period STORM_SUPERVISOR_MEDIUM_MEMORY_GRACE_PERIOD_MS.
    `static String` | `STORM_SUPERVISOR_MEMORY_LIMIT_TOLERANCE_MARGIN_MB` | Memory given to each worker for free (because java and storm have some overhead).
    `static String` | `STORM_TOPOLOGY_CLASSPATH_BEGINNING_ENABLED` | Enables user-first classpath.
    `static String` | `STORM_WORKER_CGROUP_CPU_LIMIT` | the manually set cpu share for each CGroup on supervisor node.
    `static String` | `STORM_WORKER_CGROUP_MEMORY_MB_LIMIT` | the manually set memory limit (in MB) for each CGroup on supervisor node.
    `static String` | `STORM_WORKER_MIN_CPU_PCORE_PERCENT` | The config indicates the minimum percentage of cpu for a core that a worker will use.
    `static String` | `STORM_WORKER_TOKEN_LIFE_TIME_HOURS` | The number of hours a worker token is valid for.
    `static String` | `SUPERVISOR_AUTHORIZER` | Class name for authorization plugin for supervisor.
    `static String` | `SUPERVISOR_BLOBSTORE` | What blobstore implementation the supervisor should use.
    `static String` | `SUPERVISOR_BLOBSTORE_DOWNLOAD_MAX_RETRIES` | Maximum number of retries a supervisor is allowed to make for downloading a blob.
    `static String` | `SUPERVISOR_BLOBSTORE_DOWNLOAD_THREAD_COUNT` | What blobstore download parallelism the supervisor should use.
    `static String` | `SUPERVISOR_CHILDOPTS` | This parameter is used by the storm-deploy project to configure the jvm options for the supervisor daemon.
    `static String` | `SUPERVISOR_ENABLE` | Whether or not the supervisor should launch workers assigned to it.
    `static String` | `SUPERVISOR_HEARTBEAT_FREQUENCY_SECS` | how often the supervisor sends a heartbeat to the master.
    `static String` | `SUPERVISOR_LOCALIZER_CACHE_CLEANUP_INTERVAL_MS` | The distributed cache cleanup interval.
    `static String` | `SUPERVISOR_LOCALIZER_CACHE_TARGET_SIZE_MB` | The distributed cache target size in MB.
    `static String` | `SUPERVISOR_LOCALIZER_UPDATE_BLOB_INTERVAL_SECS` | The distributed cache interval for checking for blobs to update.
    `static String` | `SUPERVISOR_MONITOR_FREQUENCY_SECS` | How often the supervisor checks the worker heartbeats to see if any of them need to be restarted.
    `static String` | `SUPERVISOR_NUMA_META` | A map with keys mapped to each NUMA Node on the supervisor that will be used by scheduler.
    `static String` | `SUPERVISOR_SCHEDULER_META` | the metadata configured on the supervisor.
    `static String` | `SUPERVISOR_SLOTS_PORTS` | A list of ports that can run workers on this supervisor.
    `static String` | `SUPERVISOR_WORKER_START_TIMEOUT_SECS` | How long a worker can go without heartbeating during the initial launch before the supervisor tries to restart the worker process.
    `static String` | `UI_CENTRAL_LOGGING_URL` | Storm UI Central Logging URL.
    `static String` | `UI_CHILDOPTS` | Childopts for Storm UI Java process.
    `static String` | `UI_DISABLE_HTTP_BINDING` | This controls wheather Storm UI should bind to http port even if ui.port is > 0.
    `static String` | `UI_DISABLE_SPOUT_LAG_MONITORING` | This controls whether Storm UI displays spout lag for the Kafka spout.
    `static String` | `UI_FILTER` | A class implementing jakarta.servlet.Filter for authenticating/filtering UI requests.
    `static String` | `UI_FILTER_PARAMS` | Initialization parameters for the jakarta.servlet.Filter for UI.
    `static String` | `UI_HEADER_BUFFER_BYTES` | The size of the header buffer for the UI in bytes.
    `static String` | `UI_HOST` | Storm UI binds to this host/interface.
    `static String` | `UI_HTTP_CREDS_PLUGIN` | Class name of the HTTP credentials plugin for the UI.
    `static String` | `UI_HTTPS_ENABLE_SSL_RELOAD` | If set to true, keystore and truststore for UI will be automatically reloaded when modified.
    `static String` | `UI_HTTPS_KEY_PASSWORD` | Password to the private key in the keystore for setting up HTTPS (SSL).
    `static String` | `UI_HTTPS_KEYSTORE_PASSWORD` | Password to the keystore used by Storm UI for setting up HTTPS (SSL).
    `static String` | `UI_HTTPS_KEYSTORE_PATH` | Path to the keystore used by Storm UI for setting up HTTPS (SSL).
    `static String` | `UI_HTTPS_KEYSTORE_TYPE` | Type of keystore used by Storm UI for setting up HTTPS (SSL).
    `static String` | `UI_HTTPS_NEED_CLIENT_AUTH` |
    `static String` | `UI_HTTPS_PORT` | This port is used by Storm UI for receiving HTTPS (SSL) requests from clients.
    `static String` | `UI_HTTPS_TRUSTSTORE_PASSWORD` | Password to the truststore used by Storm UI setting up HTTPS (SSL).
    `static String` | `UI_HTTPS_TRUSTSTORE_PATH` | Path to the truststore used by Storm UI setting up HTTPS (SSL).
    `static String` | `UI_HTTPS_TRUSTSTORE_TYPE` | Type of truststore used by Storm UI for setting up HTTPS (SSL).
    `static String` | `UI_HTTPS_WANT_CLIENT_AUTH` | Password to the truststore used by Storm DRPC setting up HTTPS (SSL).
    `static String` | `UI_PAGINATION` | Storm UI drop-down pagination value.
    `static String` | `UI_PORT` | Storm UI binds to this port.
    `static String` | `UI_PROJECT_BUGTRACKER_URL` | Storm UI Project BUGTRACKER Link for reporting issue.
    `static String` | `UI_TITLE` | Storm UI's title.
    `static String` | `VALIDATE_TOPOLOGY_SCHEDULER_STRATEGY` | Server side validation that @{see Config#TOPOLOGY_SCHEDULER_STRATEGY} is set ot a subclass of IStrategy.
    `static String` | `WORKER_PROFILER_CHILDOPTS` | The jvm profiler opts provided to workers launched by this supervisor.
    `static String` | `WORKER_PROFILER_COMMAND` | The command launched supervisor with worker arguments pid, action and [target_directory] Where action is - start profile, stop profile, jstack, heapdump and kill against pid.
    `static String` | `WORKER_PROFILER_ENABLED` | Enable profiling of worker JVMs using Oracle's Java Flight Recorder.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DaemonConfig()` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static String` | `getCgroupRootDir​(Map<String,​Object> conf)` |
    `static String` | `getCgroupStormHierarchyDir​(Map<String,​Object> conf)` |
    `static String` | `getCgroupStormHierarchyName​(Map<String,​Object> conf)` |
    `static ArrayList<String>` | `getCgroupStormResources​(Map<String,​Object> conf)` | Get the cgroup resources from the conf.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### STORM_NETTY_FLUSH_CHECK_INTERVAL_MS

          public static final String STORM_NETTY_FLUSH_CHECK_INTERVAL_MS

      We check with this interval that whether the Netty channel is writable and try to write pending messages.
      See Also:
        Constant Field Values

    - #### STORM_DAEMON_METRICS_REPORTER_PLUGINS

          public static final String STORM_DAEMON_METRICS_REPORTER_PLUGINS

      A list of daemon metrics reporter plugin class names. These plugins must implement `PreparableReporter` interface.
      See Also:
        Constant Field Values

    - #### STORM_DAEMON_METRICS_REPORTER_PLUGIN_DOMAIN

          public static final String STORM_DAEMON_METRICS_REPORTER_PLUGIN_DOMAIN

      Specify the domain for daemon metrics reporter plugin to limit reporting to specific domain.
      See Also:
        Constant Field Values

    - #### STORM_DAEMON_METRICS_REPORTER_INTERVAL_SECS

          public static final String STORM_DAEMON_METRICS_REPORTER_INTERVAL_SECS

      We report the metrics with this interval period.
      See Also:
        Constant Field Values

    - #### STORM_DAEMON_METRICS_REPORTER_CSV_LOG_DIR

          public static final String STORM_DAEMON_METRICS_REPORTER_CSV_LOG_DIR

      Specify the csv reporter directory for CvsPreparableReporter daemon metrics reporter.
      See Also:
        Constant Field Values

    - #### STORM_LOG4J2_CONF_DIR

          public static final String STORM_LOG4J2_CONF_DIR

      A directory that holds configuration files for log4j2. It can be either a relative or an absolute directory. If relative, it is relative to the storm's home directory.
      See Also:
        Constant Field Values

    - #### STORM_SCHEDULER

          public static final String STORM_SCHEDULER

      A global task scheduler used to assign topologies's tasks to supervisors' workers.

      If this is not set, a default system scheduler will be used.

      See Also:
        Constant Field Values

    - #### SCHEDULING_TIMEOUT_SECONDS_PER_TOPOLOGY

          public static final String SCHEDULING_TIMEOUT_SECONDS_PER_TOPOLOGY

      Max time to attempt to schedule one topology. The default is 60 seconds
      See Also:
        Constant Field Values

    - #### BLACKLIST_SCHEDULER_TOLERANCE_TIME

          public static final String BLACKLIST_SCHEDULER_TOLERANCE_TIME

      The number of seconds that the blacklist scheduler will concern of bad slots or supervisors.
      See Also:
        Constant Field Values

    - #### BLACKLIST_SCHEDULER_TOLERANCE_COUNT

          public static final String BLACKLIST_SCHEDULER_TOLERANCE_COUNT

      The number of hit count that will trigger blacklist in tolerance time.
      See Also:
        Constant Field Values

    - #### BLACKLIST_SCHEDULER_RESUME_TIME

          public static final String BLACKLIST_SCHEDULER_RESUME_TIME

      The number of seconds that the blacklisted slots or supervisor will be resumed.
      See Also:
        Constant Field Values

    - #### BLACKLIST_SCHEDULER_ENABLE_SEND_ASSIGNMENT_FAILURES

          public static final String BLACKLIST_SCHEDULER_ENABLE_SEND_ASSIGNMENT_FAILURES

      Enables blacklisting support for supervisors with failed send assignment calls.
      See Also:
        Constant Field Values

    - #### BLACKLIST_SCHEDULER_REPORTER

          public static final String BLACKLIST_SCHEDULER_REPORTER

      The class that the blacklist scheduler will report the blacklist.
      See Also:
        Constant Field Values

    - #### BLACKLIST_SCHEDULER_STRATEGY

          public static final String BLACKLIST_SCHEDULER_STRATEGY

      The class that specifies the eviction strategy to use in blacklist scheduler. If you are using the RAS scheduler please set this to "org.apache.storm.scheduler.blacklist.strategies.RasBlacklistStrategy" or you may get odd behavior when the cluster is full and there are blacklisted nodes.
      See Also:
        Constant Field Values

    - #### BLACKLIST_SCHEDULER_ASSUME_SUPERVISOR_BAD_BASED_ON_BAD_SLOT

          public static final String BLACKLIST_SCHEDULER_ASSUME_SUPERVISOR_BAD_BASED_ON_BAD_SLOT

      Whether `BlacklistScheduler` will assume the supervisor is bad based on bad slots or not. A bad slot indicates the situation where the nimbus doesn't receive heartbeat from the worker in time, it's hard to differentiate if it's because of the supervisor node or the worker itself. If this is set to true, the scheduler will consider a supervisor is bad when seeing bad slots in it. Otherwise, the scheduler will assume a supervisor is bad only when it does not receive supervisor heartbeat in time.
      See Also:
        Constant Field Values

    - #### SCHEDULER_DISPLAY_RESOURCE

          public static final String SCHEDULER_DISPLAY_RESOURCE

      Whether we want to display all the resource capacity and scheduled usage on the UI page. You MUST have this variable set if you are using any kind of resource-related scheduler.

      If this is not set, we will not display resource capacity and usage on the UI.
      See Also:
        Constant Field Values

    - #### STORM_HEALTH_CHECK_DIR

          public static final String STORM_HEALTH_CHECK_DIR

      The directory where storm's health scripts go.
      See Also:
        Constant Field Values

    - #### STORM_HEALTH_CHECK_TIMEOUT_MS

          public static final String STORM_HEALTH_CHECK_TIMEOUT_MS

      The time to allow any given healthcheck script to run before it is marked failed due to timeout.
      See Also:
        Constant Field Values

    - #### STORM_HEALTH_CHECK_FAIL_ON_TIMEOUTS

          public static final String STORM_HEALTH_CHECK_FAIL_ON_TIMEOUTS

      Boolean setting to configure if health checks should fail when timeouts occur or not.
      See Also:
        Constant Field Values

    - #### NIMBUS_DAEMON_USER

          public static final String NIMBUS_DAEMON_USER

      This is the user that the Nimbus daemon process is running as. May be used when security is enabled to authorize actions in the cluster.
      See Also:
        Constant Field Values

    - #### NIMBUS_CHILDOPTS

          public static final String NIMBUS_CHILDOPTS

      This parameter is used by the storm-deploy project to configure the jvm options for the nimbus daemon.
      See Also:
        Constant Field Values

    - #### NIMBUS_TASK_TIMEOUT_SECS

          public static final String NIMBUS_TASK_TIMEOUT_SECS

      How long without heartbeating a task can go before nimbus will consider the task dead and reassign it to another location. Can be exceeded when `Config.TOPOLOGY_WORKER_TIMEOUT_SECS` is set.
      See Also:
        Constant Field Values

    - #### NIMBUS_MONITOR_FREQ_SECS

          public static final String NIMBUS_MONITOR_FREQ_SECS

      How often nimbus should wake up to check heartbeats and do reassignments. Note that if a machine ever goes down Nimbus will immediately wake up and take action. This parameter is for checking for failures when there's no explicit event like that occurring.
      See Also:
        Constant Field Values

    - #### NIMBUS_CLEANUP_INBOX_FREQ_SECS

          public static final String NIMBUS_CLEANUP_INBOX_FREQ_SECS

      How often nimbus should wake the cleanup thread to clean the inbox.
      See Also:
        `NIMBUS_INBOX_JAR_EXPIRATION_SECS`, Constant Field Values

    - #### NIMBUS_INBOX_JAR_EXPIRATION_SECS

          public static final String NIMBUS_INBOX_JAR_EXPIRATION_SECS

      The length of time a jar file lives in the inbox before being deleted by the cleanup thread.

      Probably keep this value greater than or equal to NIMBUS_CLEANUP_INBOX_JAR_EXPIRATION_SECS. Note that the time it takes to delete an inbox jar file is going to be somewhat more than NIMBUS_CLEANUP_INBOX_JAR_EXPIRATION_SECS (depending on how often NIMBUS_CLEANUP_FREQ_SECS is set to).

      See Also:
        `NIMBUS_CLEANUP_INBOX_FREQ_SECS`, Constant Field Values

    - #### NIMBUS_SUPERVISOR_TIMEOUT_SECS

          public static final String NIMBUS_SUPERVISOR_TIMEOUT_SECS

      How long before a supervisor can go without heartbeating before nimbus considers it dead and stops assigning new work to it.
      See Also:
        Constant Field Values

    - #### NIMBUS_TASK_LAUNCH_SECS

          public static final String NIMBUS_TASK_LAUNCH_SECS

      A special timeout used when a task is initially launched. During launch, this is the timeout used until the first heartbeat, overriding nimbus.task.timeout.secs.

      A separate timeout exists for launch because there can be quite a bit of overhead to launching new JVM's and configuring them.

      Can be exceeded when `Config.TOPOLOGY_WORKER_TIMEOUT_SECS` is set.
      See Also:
        Constant Field Values

    - #### NIMBUS_FILE_COPY_EXPIRATION_SECS

          public static final String NIMBUS_FILE_COPY_EXPIRATION_SECS

      During upload/download with the master, how long an upload or download connection is idle before nimbus considers it dead and drops the connection.
      See Also:
        Constant Field Values

    - #### NIMBUS_TOPOLOGY_VALIDATOR

          public static final String NIMBUS_TOPOLOGY_VALIDATOR

      A custom class that implements ITopologyValidator that is run whenever a topology is submitted. Can be used to provide business-specific logic for whether topologies are allowed to run or not.
      See Also:
        Constant Field Values

    - #### NIMBUS_AUTHORIZER

          public static final String NIMBUS_AUTHORIZER

      Class name for authorization plugin for Nimbus.
      See Also:
        Constant Field Values

    - #### SUPERVISOR_AUTHORIZER

          public static final String SUPERVISOR_AUTHORIZER

      Class name for authorization plugin for supervisor.
      See Also:
        Constant Field Values

    - #### NIMBUS_IMPERSONATION_AUTHORIZER

          public static final String NIMBUS_IMPERSONATION_AUTHORIZER

      Impersonation user ACL config entries.
      See Also:
        Constant Field Values

    - #### NIMBUS_CREDENTIAL_RENEW_FREQ_SECS

          public static final String NIMBUS_CREDENTIAL_RENEW_FREQ_SECS

      How often nimbus should wake up to renew credentials if needed.
      See Also:
        Constant Field Values

    - #### NIMBUS_TOPOLOGY_ACTION_NOTIFIER_PLUGIN

          public static final String NIMBUS_TOPOLOGY_ACTION_NOTIFIER_PLUGIN

      FQCN of a class that implements `I` @see org.apache.storm.nimbus.ITopologyActionNotifierPlugin for details.
      See Also:
        Constant Field Values

    - #### NIMBUS_ASSIGNMENTS_SERVICE_THREADS

          public static final String NIMBUS_ASSIGNMENTS_SERVICE_THREADS

      This controls the number of working threads for distributing master assignments to supervisors.
      See Also:
        Constant Field Values

    - #### NIMBUS_ASSIGNMENTS_SERVICE_THREAD_QUEUE_SIZE

          public static final String NIMBUS_ASSIGNMENTS_SERVICE_THREAD_QUEUE_SIZE

      This controls the number of working thread queue size of assignment service.
      See Also:
        Constant Field Values

    - #### NIMBUS_WORKER_HEARTBEATS_RECOVERY_STRATEGY_CLASS

          public static final String NIMBUS_WORKER_HEARTBEATS_RECOVERY_STRATEGY_CLASS

      class controls heartbeats recovery strategy.
      See Also:
        Constant Field Values

    - #### NIMBUS_TOPOLOGY_BLOBSTORE_DELETION_DELAY_MS

          public static final String NIMBUS_TOPOLOGY_BLOBSTORE_DELETION_DELAY_MS

      This controls the number of milliseconds nimbus will wait before deleting a topology blobstore once detected it is able to delete.
      See Also:
        Constant Field Values

    - #### UI_HOST

          public static final String UI_HOST

      Storm UI binds to this host/interface.
      See Also:
        Constant Field Values

    - #### UI_PORT

          public static final String UI_PORT

      Storm UI binds to this port.
      See Also:
        Constant Field Values

    - #### UI_TITLE

          public static final String UI_TITLE

      Storm UI's title.
      See Also:
        Constant Field Values

    - #### UI_DISABLE_HTTP_BINDING

          public static final String UI_DISABLE_HTTP_BINDING

      This controls wheather Storm UI should bind to http port even if ui.port is > 0.
      See Also:
        Constant Field Values

    - #### UI_DISABLE_SPOUT_LAG_MONITORING

          public static final String UI_DISABLE_SPOUT_LAG_MONITORING

      This controls whether Storm UI displays spout lag for the Kafka spout.
      See Also:
        Constant Field Values

    - #### LOGVIEWER_DISABLE_HTTP_BINDING

          public static final String LOGVIEWER_DISABLE_HTTP_BINDING

      This controls wheather Storm Logviewer should bind to http port even if logviewer.port is > 0.
      See Also:
        Constant Field Values

    - #### DRPC_DISABLE_HTTP_BINDING

          public static final String DRPC_DISABLE_HTTP_BINDING

      This controls wheather Storm DRPC should bind to http port even if drpc.http.port is > 0.
      See Also:
        Constant Field Values

    - #### UI_PROJECT_BUGTRACKER_URL

          public static final String UI_PROJECT_BUGTRACKER_URL

      Storm UI Project BUGTRACKER Link for reporting issue.
      See Also:
        Constant Field Values

    - #### UI_CENTRAL_LOGGING_URL

          public static final String UI_CENTRAL_LOGGING_URL

      Storm UI Central Logging URL.
      See Also:
        Constant Field Values

    - #### UI_PAGINATION

          public static final String UI_PAGINATION

      Storm UI drop-down pagination value. Set ui.pagination to be a positive integer or -1 (displays all entries). Valid values: -1, 10, 20, 25 etc.
      See Also:
        Constant Field Values

    - #### LOGVIEWER_PORT

          public static final String LOGVIEWER_PORT

      HTTP UI port for log viewer.
      See Also:
        Constant Field Values

    - #### LOGVIEWER_CHILDOPTS

          public static final String LOGVIEWER_CHILDOPTS

      Childopts for log viewer java process.
      See Also:
        Constant Field Values

    - #### LOGVIEWER_CLEANUP_INTERVAL_SECS

          public static final String LOGVIEWER_CLEANUP_INTERVAL_SECS

      How often to clean up old log files.
      See Also:
        Constant Field Values

    - #### LOGVIEWER_CLEANUP_AGE_MINS

          public static final String LOGVIEWER_CLEANUP_AGE_MINS

      How many minutes since a log was last modified for the log to be considered for clean-up.
      See Also:
        Constant Field Values

    - #### LOGVIEWER_MAX_SUM_WORKER_LOGS_SIZE_MB

          public static final String LOGVIEWER_MAX_SUM_WORKER_LOGS_SIZE_MB

      The maximum number of bytes all worker log files can take up in MB.
      See Also:
        Constant Field Values

    - #### LOGVIEWER_MAX_PER_WORKER_LOGS_SIZE_MB

          public static final String LOGVIEWER_MAX_PER_WORKER_LOGS_SIZE_MB

      The maximum number of bytes per worker's files can take up in MB.
      See Also:
        Constant Field Values

    - #### LOGVIEWER_HTTPS_PORT

          public static final String LOGVIEWER_HTTPS_PORT

      Storm Logviewer HTTPS port. Logviewer must use HTTPS if Storm UI is using HTTPS.
      See Also:
        Constant Field Values

    - #### LOGVIEWER_HTTPS_KEYSTORE_PATH

          public static final String LOGVIEWER_HTTPS_KEYSTORE_PATH

      Path to the keystore containing the certs used by Storm Logviewer for HTTPS communications.
      See Also:
        Constant Field Values

    - #### LOGVIEWER_HTTPS_KEYSTORE_PASSWORD

          public static final String LOGVIEWER_HTTPS_KEYSTORE_PASSWORD

      Password for the keystore for HTTPS for Storm Logviewer.
      See Also:
        Constant Field Values

    - #### LOGVIEWER_HTTPS_KEYSTORE_TYPE

          public static final String LOGVIEWER_HTTPS_KEYSTORE_TYPE

      Type of the keystore for HTTPS for Storm Logviewer. see http://docs.oracle.com/javase/8/docs/api/java/security/KeyStore.html for more details.
      See Also:
        Constant Field Values

    - #### LOGVIEWER_HTTPS_KEY_PASSWORD

          public static final String LOGVIEWER_HTTPS_KEY_PASSWORD

      Password to the private key in the keystore for setting up HTTPS (SSL).
      See Also:
        Constant Field Values

    - #### LOGVIEWER_HTTPS_TRUSTSTORE_PATH

          public static final String LOGVIEWER_HTTPS_TRUSTSTORE_PATH

      Path to the truststore containing the certs used by Storm Logviewer for HTTPS communications.
      See Also:
        Constant Field Values

    - #### LOGVIEWER_HTTPS_TRUSTSTORE_PASSWORD

          public static final String LOGVIEWER_HTTPS_TRUSTSTORE_PASSWORD

      Password for the truststore for HTTPS for Storm Logviewer.
      See Also:
        Constant Field Values

    - #### LOGVIEWER_HTTPS_TRUSTSTORE_TYPE

          public static final String LOGVIEWER_HTTPS_TRUSTSTORE_TYPE

      Type of the truststore for HTTPS for Storm Logviewer. see http://docs.oracle.com/javase/8/docs/api/java/security/Truststore.html for more details.
      See Also:
        Constant Field Values

    - #### LOGVIEWER_HTTPS_WANT_CLIENT_AUTH

          public static final String LOGVIEWER_HTTPS_WANT_CLIENT_AUTH

      Password to the truststore used by Storm Logviewer setting up HTTPS (SSL).
      See Also:
        Constant Field Values

    - #### LOGVIEWER_HTTPS_NEED_CLIENT_AUTH

          public static final String LOGVIEWER_HTTPS_NEED_CLIENT_AUTH

      See Also:
        Constant Field Values

    - #### LOGVIEWER_HTTPS_ENABLE_SSL_RELOAD

          public static final String LOGVIEWER_HTTPS_ENABLE_SSL_RELOAD

      If set to true, keystore and truststore for Logviewer will be automatically reloaded when modified.
      See Also:
        Constant Field Values

    - #### LOGS_USERS

          public static final String LOGS_USERS

      A list of users allowed to view logs via the Log Viewer.
      See Also:
        Constant Field Values

    - #### LOGS_GROUPS

          public static final String LOGS_GROUPS

      A list of groups allowed to view logs via the Log Viewer.
      See Also:
        Constant Field Values

    - #### LOGVIEWER_APPENDER_NAME

          public static final String LOGVIEWER_APPENDER_NAME

      Appender name used by log viewer to determine log directory.
      See Also:
        Constant Field Values

    - #### LOGVIEWER_FILTER

          public static final String LOGVIEWER_FILTER

      A class implementing jakarta.servlet.Filter for authenticating/filtering Logviewer requests.
      See Also:
        Constant Field Values

    - #### LOGVIEWER_FILTER_PARAMS

          public static final String LOGVIEWER_FILTER_PARAMS

      Initialization parameters for the jakarta.servlet.Filter for Logviewer.
      See Also:
        Constant Field Values

    - #### UI_CHILDOPTS

          public static final String UI_CHILDOPTS

      Childopts for Storm UI Java process.
      See Also:
        Constant Field Values

    - #### UI_FILTER

          public static final String UI_FILTER

      A class implementing jakarta.servlet.Filter for authenticating/filtering UI requests.
      See Also:
        Constant Field Values

    - #### UI_FILTER_PARAMS

          public static final String UI_FILTER_PARAMS

      Initialization parameters for the jakarta.servlet.Filter for UI.
      See Also:
        Constant Field Values

    - #### UI_HEADER_BUFFER_BYTES

          public static final String UI_HEADER_BUFFER_BYTES

      The size of the header buffer for the UI in bytes.
      See Also:
        Constant Field Values

    - #### UI_HTTPS_PORT

          public static final String UI_HTTPS_PORT

      This port is used by Storm UI for receiving HTTPS (SSL) requests from clients.
      See Also:
        Constant Field Values

    - #### UI_HTTPS_KEYSTORE_PATH

          public static final String UI_HTTPS_KEYSTORE_PATH

      Path to the keystore used by Storm UI for setting up HTTPS (SSL).
      See Also:
        Constant Field Values

    - #### UI_HTTPS_KEYSTORE_PASSWORD

          public static final String UI_HTTPS_KEYSTORE_PASSWORD

      Password to the keystore used by Storm UI for setting up HTTPS (SSL).
      See Also:
        Constant Field Values

    - #### UI_HTTPS_KEYSTORE_TYPE

          public static final String UI_HTTPS_KEYSTORE_TYPE

      Type of keystore used by Storm UI for setting up HTTPS (SSL). see http://docs.oracle.com/javase/7/docs/api/java/security/KeyStore .html for more details.
      See Also:
        Constant Field Values

    - #### UI_HTTPS_KEY_PASSWORD

          public static final String UI_HTTPS_KEY_PASSWORD

      Password to the private key in the keystore for setting up HTTPS (SSL).
      See Also:
        Constant Field Values

    - #### UI_HTTPS_TRUSTSTORE_PATH

          public static final String UI_HTTPS_TRUSTSTORE_PATH

      Path to the truststore used by Storm UI setting up HTTPS (SSL).
      See Also:
        Constant Field Values

    - #### UI_HTTPS_TRUSTSTORE_PASSWORD

          public static final String UI_HTTPS_TRUSTSTORE_PASSWORD

      Password to the truststore used by Storm UI setting up HTTPS (SSL).
      See Also:
        Constant Field Values

    - #### UI_HTTPS_TRUSTSTORE_TYPE

          public static final String UI_HTTPS_TRUSTSTORE_TYPE

      Type of truststore used by Storm UI for setting up HTTPS (SSL). see http://docs.oracle .com/javase/7/docs/api/java/security/KeyStore.html for more details.
      See Also:
        Constant Field Values

    - #### UI_HTTPS_WANT_CLIENT_AUTH

          public static final String UI_HTTPS_WANT_CLIENT_AUTH

      Password to the truststore used by Storm DRPC setting up HTTPS (SSL).
      See Also:
        Constant Field Values

    - #### UI_HTTPS_NEED_CLIENT_AUTH

          public static final String UI_HTTPS_NEED_CLIENT_AUTH

      See Also:
        Constant Field Values

    - #### UI_HTTPS_ENABLE_SSL_RELOAD

          public static final String UI_HTTPS_ENABLE_SSL_RELOAD

      If set to true, keystore and truststore for UI will be automatically reloaded when modified.
      See Also:
        Constant Field Values

    - #### PACEMAKER_MAX_THREADS

          public static final String PACEMAKER_MAX_THREADS

      The maximum number of threads that should be used by the Pacemaker. When Pacemaker gets loaded it will spawn new threads, up to this many total, to handle the load.
      See Also:
        Constant Field Values

    - #### PACEMAKER_CHILDOPTS

          public static final String PACEMAKER_CHILDOPTS

      This parameter is used by the storm-deploy project to configure the jvm options for the pacemaker daemon.
      See Also:
        Constant Field Values

    - #### DRPC_HTTP_PORT

          public static final String DRPC_HTTP_PORT

      This port is used by Storm DRPC for receiving HTTP DPRC requests from clients.
      See Also:
        Constant Field Values

    - #### DRPC_HTTPS_PORT

          public static final String DRPC_HTTPS_PORT

      This port is used by Storm DRPC for receiving HTTPS (SSL) DPRC requests from clients.
      See Also:
        Constant Field Values

    - #### DRPC_HTTPS_KEYSTORE_PATH

          public static final String DRPC_HTTPS_KEYSTORE_PATH

      Path to the keystore used by Storm DRPC for setting up HTTPS (SSL).
      See Also:
        Constant Field Values

    - #### DRPC_HTTPS_KEYSTORE_PASSWORD

          public static final String DRPC_HTTPS_KEYSTORE_PASSWORD

      Password to the keystore used by Storm DRPC for setting up HTTPS (SSL).
      See Also:
        Constant Field Values

    - #### DRPC_HTTPS_KEYSTORE_TYPE

          public static final String DRPC_HTTPS_KEYSTORE_TYPE

      Type of keystore used by Storm DRPC for setting up HTTPS (SSL). see http://docs.oracle .com/javase/7/docs/api/java/security/KeyStore.html for more details.
      See Also:
        Constant Field Values

    - #### DRPC_HTTPS_KEY_PASSWORD

          public static final String DRPC_HTTPS_KEY_PASSWORD

      Password to the private key in the keystore for setting up HTTPS (SSL).
      See Also:
        Constant Field Values

    - #### DRPC_HTTPS_TRUSTSTORE_PATH

          public static final String DRPC_HTTPS_TRUSTSTORE_PATH

      Path to the truststore used by Storm DRPC setting up HTTPS (SSL).
      See Also:
        Constant Field Values

    - #### DRPC_HTTPS_TRUSTSTORE_PASSWORD

          public static final String DRPC_HTTPS_TRUSTSTORE_PASSWORD

      Password to the truststore used by Storm DRPC setting up HTTPS (SSL).
      See Also:
        Constant Field Values

    - #### DRPC_HTTPS_TRUSTSTORE_TYPE

          public static final String DRPC_HTTPS_TRUSTSTORE_TYPE

      Type of truststore used by Storm DRPC for setting up HTTPS (SSL). see http://docs.oracle .com/javase/7/docs/api/java/security/KeyStore.html for more details.
      See Also:
        Constant Field Values

    - #### DRPC_HTTPS_WANT_CLIENT_AUTH

          public static final String DRPC_HTTPS_WANT_CLIENT_AUTH

      Password to the truststore used by Storm DRPC setting up HTTPS (SSL).
      See Also:
        Constant Field Values

    - #### DRPC_HTTPS_NEED_CLIENT_AUTH

          public static final String DRPC_HTTPS_NEED_CLIENT_AUTH

      See Also:
        Constant Field Values

    - #### DRPC_HTTPS_ENABLE_SSL_RELOAD

          public static final String DRPC_HTTPS_ENABLE_SSL_RELOAD

      If set to true, keystore and truststore for DRPC Server will be automatically reloaded when modified.
      See Also:
        Constant Field Values

    - #### DRPC_AUTHORIZER

          public static final String DRPC_AUTHORIZER

      Class name for authorization plugin for DRPC client.
      See Also:
        Constant Field Values

    - #### DRPC_REQUEST_TIMEOUT_SECS

          public static final String DRPC_REQUEST_TIMEOUT_SECS

      The timeout on DRPC requests within the DRPC server. Defaults to 10 minutes. Note that requests can also timeout based on the socket timeout on the DRPC client, and separately based on the topology message timeout for the topology implementing the DRPC function.
      See Also:
        Constant Field Values

    - #### DRPC_CHILDOPTS

          public static final String DRPC_CHILDOPTS

      Childopts for Storm DRPC Java process.
      See Also:
        Constant Field Values

    - #### SUPERVISOR_SCHEDULER_META

          public static final String SUPERVISOR_SCHEDULER_META

      the metadata configured on the supervisor.
      See Also:
        Constant Field Values

    - #### SUPERVISOR_SLOTS_PORTS

          public static final String SUPERVISOR_SLOTS_PORTS

      A list of ports that can run workers on this supervisor. Each worker uses one port, and the supervisor will only run one worker per port. Use this configuration to tune how many workers run on each machine.
      See Also:
        Constant Field Values

    - #### SUPERVISOR_BLOBSTORE

          public static final String SUPERVISOR_BLOBSTORE

      What blobstore implementation the supervisor should use.
      See Also:
        Constant Field Values

    - #### SUPERVISOR_LOCALIZER_CACHE_TARGET_SIZE_MB

          public static final String SUPERVISOR_LOCALIZER_CACHE_TARGET_SIZE_MB

      The distributed cache target size in MB. This is a soft limit to the size of the distributed cache contents.
      See Also:
        Constant Field Values

    - #### SUPERVISOR_LOCALIZER_CACHE_CLEANUP_INTERVAL_MS

          public static final String SUPERVISOR_LOCALIZER_CACHE_CLEANUP_INTERVAL_MS

      The distributed cache cleanup interval. Controls how often it scans to attempt to cleanup anything over the cache target size.
      See Also:
        Constant Field Values

    - #### SUPERVISOR_LOCALIZER_UPDATE_BLOB_INTERVAL_SECS

          public static final String SUPERVISOR_LOCALIZER_UPDATE_BLOB_INTERVAL_SECS

      The distributed cache interval for checking for blobs to update.
      See Also:
        Constant Field Values

    - #### SUPERVISOR_BLOBSTORE_DOWNLOAD_THREAD_COUNT

          public static final String SUPERVISOR_BLOBSTORE_DOWNLOAD_THREAD_COUNT

      What blobstore download parallelism the supervisor should use.
      See Also:
        Constant Field Values

    - #### SUPERVISOR_BLOBSTORE_DOWNLOAD_MAX_RETRIES

          public static final String SUPERVISOR_BLOBSTORE_DOWNLOAD_MAX_RETRIES

      Maximum number of retries a supervisor is allowed to make for downloading a blob.
      See Also:
        Constant Field Values

    - #### SUPERVISOR_NUMA_META

          public static final String SUPERVISOR_NUMA_META

      A map with keys mapped to each NUMA Node on the supervisor that will be used by scheduler. CPUs, memory and ports available on each NUMA node will be provided. Each supervisor will have different map of NUMAs. Example: "supervisor.numa.meta": { "0": { "numa.memory.mb": 122880, "numa.cores": [ 0, 12, 1, 13, 2, 14, 3, 15, 4, 16, 5, 17], "numa.ports": [6700, 6701]}, "1" : {"numa.memory.mb": 122880, "numa.cores": [ 6, 18, 7, 19, 8, 20, 9, 21, 10, 22, 11, 23], "numa.ports": [6702, 6703], "numa.generic.resources.map": {"gpu.count" : 1}} }
      See Also:
        Constant Field Values

    - #### NIMBUS_BLOBSTORE

          public static final String NIMBUS_BLOBSTORE

      What blobstore implementation nimbus should use.
      See Also:
        Constant Field Values

    - #### NIMBUS_BLOBSTORE_EXPIRATION_SECS

          public static final String NIMBUS_BLOBSTORE_EXPIRATION_SECS

      During operations with the blob store, via master, how long a connection is idle before nimbus considers it dead and drops the session and any associated connections.
      See Also:
        Constant Field Values

    - #### NIMBUS_SLOTS_PER_TOPOLOGY

          public static final String NIMBUS_SLOTS_PER_TOPOLOGY

      A number representing the maximum number of workers any single topology can acquire. This will be ignored if the Resource Aware Scheduler is used.
      See Also:
        Constant Field Values

    - #### DRPC_HTTP_FILTER

          public static final String DRPC_HTTP_FILTER

      A class implementing jakarta.servlet.Filter for DRPC HTTP requests.
      See Also:
        Constant Field Values

    - #### DRPC_HTTP_FILTER_PARAMS

          public static final String DRPC_HTTP_FILTER_PARAMS

      Initialization parameters for the jakarta.servlet.Filter of the DRPC HTTP service.
      See Also:
        Constant Field Values

    - #### NIMBUS_EXECUTORS_PER_TOPOLOGY

          public static final String NIMBUS_EXECUTORS_PER_TOPOLOGY

      A number representing the maximum number of executors any single topology can acquire.
      See Also:
        Constant Field Values

    - #### SUPERVISOR_CHILDOPTS

          public static final String SUPERVISOR_CHILDOPTS

      This parameter is used by the storm-deploy project to configure the jvm options for the supervisor daemon.
      See Also:
        Constant Field Values

    - #### SUPERVISOR_WORKER_START_TIMEOUT_SECS

          public static final String SUPERVISOR_WORKER_START_TIMEOUT_SECS

      How long a worker can go without heartbeating during the initial launch before the supervisor tries to restart the worker process. This value override supervisor.worker.timeout.secs during launch because there is additional overhead to starting and configuring the JVM on launch. Can be exceeded when `Config.TOPOLOGY_WORKER_TIMEOUT_SECS` is set.
      See Also:
        Constant Field Values

    - #### SUPERVISOR_ENABLE

          public static final String SUPERVISOR_ENABLE

      Whether or not the supervisor should launch workers assigned to it. Defaults to true -- and you should probably never change this value. This configuration is used in the Storm unit tests.
      See Also:
        Constant Field Values

    - #### SUPERVISOR_HEARTBEAT_FREQUENCY_SECS

          public static final String SUPERVISOR_HEARTBEAT_FREQUENCY_SECS

      how often the supervisor sends a heartbeat to the master.
      See Also:
        Constant Field Values

    - #### SUPERVISOR_MONITOR_FREQUENCY_SECS

          public static final String SUPERVISOR_MONITOR_FREQUENCY_SECS

      How often the supervisor checks the worker heartbeats to see if any of them need to be restarted.
      See Also:
        Constant Field Values

    - #### WORKER_PROFILER_CHILDOPTS

          public static final String WORKER_PROFILER_CHILDOPTS

      The jvm profiler opts provided to workers launched by this supervisor.
      See Also:
        Constant Field Values

    - #### WORKER_PROFILER_ENABLED

          public static final String WORKER_PROFILER_ENABLED

      Enable profiling of worker JVMs using Oracle's Java Flight Recorder. Unlocking commercial features requires a special license from Oracle. See http://www.oracle.com/technetwork/java/javase/terms/products/index.html
      See Also:
        Constant Field Values

    - #### WORKER_PROFILER_COMMAND

          public static final String WORKER_PROFILER_COMMAND

      The command launched supervisor with worker arguments pid, action and [target_directory] Where action is - start profile, stop profile, jstack, heapdump and kill against pid.
      See Also:
        Constant Field Values

    - #### STORM_CLUSTER_METRICS_CONSUMER_REGISTER

          public static final String STORM_CLUSTER_METRICS_CONSUMER_REGISTER

      A list of classes implementing IClusterMetricsConsumer (See storm.yaml.example for exact config format). Each listed class will be routed cluster related metrics data. Each listed class maps 1:1 to a ClusterMetricsConsumerExecutor and they're executed in Nimbus. Only consumers which run in leader Nimbus receives metrics data.
      See Also:
        Constant Field Values

    - #### STORM_CLUSTER_METRICS_CONSUMER_PUBLISH_INTERVAL_SECS

          public static final String STORM_CLUSTER_METRICS_CONSUMER_PUBLISH_INTERVAL_SECS

      How often cluster metrics data is published to metrics consumer.
      See Also:
        Constant Field Values

    - #### STORM_TOPOLOGY_CLASSPATH_BEGINNING_ENABLED

          public static final String STORM_TOPOLOGY_CLASSPATH_BEGINNING_ENABLED

      Enables user-first classpath. See topology.classpath.beginning.
      See Also:
        Constant Field Values

    - #### JAVA_LIBRARY_PATH

          public static final String JAVA_LIBRARY_PATH

      This value is passed to spawned JVMs (e.g., Nimbus, Supervisor, and Workers) for the java.library.path value. java.library.path tells the JVM where to look for native libraries. It is necessary to set this config correctly since Storm uses the ZeroMQ and JZMQ native libs.
      See Also:
        Constant Field Values

    - #### DEV_ZOOKEEPER_PATH

          public static final String DEV_ZOOKEEPER_PATH

      The path to use as the zookeeper dir when running a zookeeper server via "storm dev-zookeeper". This zookeeper instance is only intended for development; it is not a production grade zookeeper setup.
      See Also:
        Constant Field Values

    - #### ISOLATION_SCHEDULER_MACHINES

          public static final String ISOLATION_SCHEDULER_MACHINES

      A map from topology name to the number of machines that should be dedicated for that topology. Set storm.scheduler to org.apache.storm.scheduler.IsolationScheduler to make use of the isolation scheduler.
      See Also:
        Constant Field Values

    - #### SCHEDULER_CONFIG_CACHE_EXPIRATION_SECS

          public static final String SCHEDULER_CONFIG_CACHE_EXPIRATION_SECS

      How long before a scheduler considers its config cache expired.
      See Also:
        Constant Field Values

    - #### SCHEDULER_CONFIG_LOADER_URI

          public static final String SCHEDULER_CONFIG_LOADER_URI

      For ArtifactoryConfigLoader, this can either be a reference to an individual file in Artifactory or to a directory. If it is a directory, the file with the largest lexographic name will be returned. Users need to add "artifactory+" to the beginning of the real URI to use ArtifactoryConfigLoader. For FileConfigLoader, this is the URI pointing to a file.
      See Also:
        Constant Field Values

    - #### SCHEDULER_CONFIG_LOADER_POLLTIME_SECS

          public static final String SCHEDULER_CONFIG_LOADER_POLLTIME_SECS

      It is the frequency at which the plugin will call out to artifactory instead of returning the most recently cached result. Currently it's only used in ArtifactoryConfigLoader.
      See Also:
        Constant Field Values

    - #### SCHEDULER_CONFIG_LOADER_TIMEOUT_SECS

          public static final String SCHEDULER_CONFIG_LOADER_TIMEOUT_SECS

      It is the amount of time an http connection to the artifactory server will wait before timing out. Currently it's only used in ArtifactoryConfigLoader.
      See Also:
        Constant Field Values

    - #### SCHEDULER_CONFIG_LOADER_ARTIFACTORY_BASE_DIRECTORY

          public static final String SCHEDULER_CONFIG_LOADER_ARTIFACTORY_BASE_DIRECTORY

      It is the part of the uri, configurable in Artifactory, which represents the top of the directory tree. It's only used in ArtifactoryConfigLoader.
      See Also:
        Constant Field Values

    - #### MULTITENANT_SCHEDULER_USER_POOLS

          public static final String MULTITENANT_SCHEDULER_USER_POOLS

      A map from the user name to the number of machines that should that user is allowed to use. Set storm.scheduler to org.apache.storm.scheduler.multitenant.MultitenantScheduler
      See Also:
        Constant Field Values

    - #### RESOURCE_AWARE_SCHEDULER_USER_POOLS

          public static final String RESOURCE_AWARE_SCHEDULER_USER_POOLS

      A map of users to another map of the resource guarantees of the user. Used by Resource Aware Scheduler to ensure per user resource guarantees.
      See Also:
        Constant Field Values

    - #### RESOURCE_AWARE_SCHEDULER_PRIORITY_STRATEGY

          public static final String RESOURCE_AWARE_SCHEDULER_PRIORITY_STRATEGY

      the class that specifies the scheduling priority strategy to use in ResourceAwareScheduler.
      See Also:
        Constant Field Values

    - #### RESOURCE_AWARE_SCHEDULER_MAX_TOPOLOGY_SCHEDULING_ATTEMPTS

          public static final String RESOURCE_AWARE_SCHEDULER_MAX_TOPOLOGY_SCHEDULING_ATTEMPTS

      The maximum number of times that the RAS will attempt to schedule a topology. The default is 5.
      See Also:
        Constant Field Values

    - #### RESOURCE_AWARE_SCHEDULER_MAX_STATE_SEARCH

          public static final String RESOURCE_AWARE_SCHEDULER_MAX_STATE_SEARCH

      See Also:
        Constant Field Values

    - #### NIMBUS_CODE_SYNC_FREQ_SECS

          public static final String NIMBUS_CODE_SYNC_FREQ_SECS

      How often nimbus's background thread to sync code for missing topologies should run.
      See Also:
        Constant Field Values

    - #### STORM_RESOURCE_ISOLATION_PLUGIN

          public static final String STORM_RESOURCE_ISOLATION_PLUGIN

      The plugin to be used for resource isolation.
      See Also:
        Constant Field Values

    - #### STORM_CGROUP_RESOURCES

          public static final String STORM_CGROUP_RESOURCES

      resources to to be controlled by cgroups.
      See Also:
        Constant Field Values

    - #### STORM_CGROUP_HIERARCHY_NAME

          public static final String STORM_CGROUP_HIERARCHY_NAME

      name for the cgroup hierarchy.
      See Also:
        Constant Field Values

    - #### STORM_RESOURCE_ISOLATION_PLUGIN_ENABLE

          public static final String STORM_RESOURCE_ISOLATION_PLUGIN_ENABLE

      flag to determine whether to use a resource isolation plugin Also determines whether the unit tests for cgroup runs. If storm.resource.isolation.plugin.enable is set to false the unit tests for cgroups will not run
      See Also:
        Constant Field Values

    - #### STORM_METRIC_STORE_CLASS

          public static final String STORM_METRIC_STORE_CLASS

      Class implementing MetricStore. Runs on Nimbus.
      See Also:
        Constant Field Values

    - #### STORM_METRIC_PROCESSOR_CLASS

          public static final String STORM_METRIC_PROCESSOR_CLASS

      Class implementing WorkerMetricsProcessor. Runs on Supervisors.
      See Also:
        Constant Field Values

    - #### STORM_ROCKSDB_LOCATION

          public static final String STORM_ROCKSDB_LOCATION

      RocksDB file location. This setting is specific to the org.apache.storm.metricstore.rocksdb.RocksDbStore implementation for the storm.metricstore.class.
      See Also:
        Constant Field Values

    - #### STORM_ROCKSDB_CREATE_IF_MISSING

          public static final String STORM_ROCKSDB_CREATE_IF_MISSING

      RocksDB create if missing flag. This setting is specific to the org.apache.storm.metricstore.rocksdb.RocksDbStore implementation for the storm.metricstore.class.
      See Also:
        Constant Field Values

    - #### STORM_ROCKSDB_METADATA_STRING_CACHE_CAPACITY

          public static final String STORM_ROCKSDB_METADATA_STRING_CACHE_CAPACITY

      RocksDB metadata cache capacity. This setting is specific to the org.apache.storm.metricstore.rocksdb.RocksDbStore implementation for the storm.metricstore.class.
      See Also:
        Constant Field Values

    - #### STORM_ROCKSDB_METRIC_RETENTION_HOURS

          public static final String STORM_ROCKSDB_METRIC_RETENTION_HOURS

      RocksDB setting for length of metric retention. This setting is specific to the org.apache.storm.metricstore.rocksdb.RocksDbStore implementation for the storm.metricstore.class.
      See Also:
        Constant Field Values

    - #### STORM_ROCKSDB_METRIC_DELETION_PERIOD_HOURS

          public static final String STORM_ROCKSDB_METRIC_DELETION_PERIOD_HOURS

      RocksDB setting for period of metric deletion thread. This setting is specific to the org.apache.storm.metricstore.rocksdb .RocksDbStore implementation for the storm.metricstore.class.
      See Also:
        Constant Field Values

    - #### STORM_NIMBUS_ZOOKEEPER_ACLS_CHECK

          public static final String STORM_NIMBUS_ZOOKEEPER_ACLS_CHECK

      In nimbus on startup check if all of the zookeeper ACLs are correct before starting. If not don't start nimbus.
      See Also:
        Constant Field Values

    - #### STORM_NIMBUS_ZOOKEEPER_ACLS_FIXUP

          public static final String STORM_NIMBUS_ZOOKEEPER_ACLS_FIXUP

      In nimbus on startup check if all of the zookeeper ACLs are correct before starting. If not do your best to fix them before nimbus starts, if it cannot fix them nimbus will not start. This overrides any value set for storm.nimbus.zookeeper.acls.check.
      See Also:
        Constant Field Values

    - #### VALIDATE_TOPOLOGY_SCHEDULER_STRATEGY

          public static final String VALIDATE_TOPOLOGY_SCHEDULER_STRATEGY

      Server side validation that @{see Config#TOPOLOGY_SCHEDULER_STRATEGY} is set ot a subclass of IStrategy.
      See Also:
        Constant Field Values

    - #### UI_HTTP_CREDS_PLUGIN

          public static final String UI_HTTP_CREDS_PLUGIN

      Class name of the HTTP credentials plugin for the UI.
      See Also:
        Constant Field Values

    - #### DRPC_HTTP_CREDS_PLUGIN

          public static final String DRPC_HTTP_CREDS_PLUGIN

      Class name of the HTTP credentials plugin for DRPC.
      See Also:
        Constant Field Values

    - #### STORM_SUPERVISOR_CGROUP_ROOTDIR

          public static String STORM_SUPERVISOR_CGROUP_ROOTDIR

      root directory for cgoups.

    - #### STORM_WORKER_CGROUP_MEMORY_MB_LIMIT

          public static String STORM_WORKER_CGROUP_MEMORY_MB_LIMIT

      the manually set memory limit (in MB) for each CGroup on supervisor node.

    - #### STORM_WORKER_CGROUP_CPU_LIMIT

          public static String STORM_WORKER_CGROUP_CPU_LIMIT

      the manually set cpu share for each CGroup on supervisor node.

    - #### STORM_CGROUP_CGEXEC_CMD

          public static String STORM_CGROUP_CGEXEC_CMD

      full path to cgexec command.

    - #### STORM_CGROUP_MEMORY_LIMIT_TOLERANCE_MARGIN_MB

          public static String STORM_CGROUP_MEMORY_LIMIT_TOLERANCE_MARGIN_MB

      Please use STORM_SUPERVISOR_MEMORY_LIMIT_TOLERANCE_MARGIN_MB instead. The amount of memory a worker can exceed its allocation before cgroup will kill it.

    - #### STORM_CGROUP_INHERIT_CPUSET_CONFIGS

          public static String STORM_CGROUP_INHERIT_CPUSET_CONFIGS

      To determine whether or not to cgroups should inherit cpuset.cpus and cpuset.mems config values form parent cgroup Note that cpuset.cpus and cpuset.mems configs in a cgroup must be initialized (i.e. contain a valid value) prior to being able to launch processes in that cgroup. The common use case for this config is when the linux distribution that is used does not support the cgroup.clone_children config.

    - #### STORM_CGROUP_MEMORY_ENFORCEMENT_ENABLE

          public static String STORM_CGROUP_MEMORY_ENFORCEMENT_ENABLE

      Java does not always play nicely with cgroups. It is coming but not fully implemented and not for the way storm uses cgroups. In the short term you can disable the hard memory enforcement by cgroups and let the supervisor handle shooting workers going over their limit in a kinder way.

    - #### STORM_SUPERVISOR_MEMORY_LIMIT_TOLERANCE_MARGIN_MB

          public static String STORM_SUPERVISOR_MEMORY_LIMIT_TOLERANCE_MARGIN_MB

      Memory given to each worker for free (because java and storm have some overhead). This is memory on the box that the workers can use. This should not be included in SUPERVISOR_MEMORY_CAPACITY_MB, as nimbus does not use this memory for scheduling.

    - #### STORM_SUPERVISOR_HARD_MEMORY_LIMIT_MULTIPLIER

          public static String STORM_SUPERVISOR_HARD_MEMORY_LIMIT_MULTIPLIER

      A multiplier for the memory limit of a worker that will have the supervisor shoot it immediately. 1.0 means shoot the worker as soon as it goes over. 2.0 means shoot the worker if its usage is double what was requested. This value is combined with STORM_SUPERVISOR_HARD_MEMORY_LIMIT_OVERAGE and which ever is greater is used for enforcement. This allows small workers to not be shot.

    - #### STORM_SUPERVISOR_HARD_LIMIT_MEMORY_OVERAGE_MB

          public static String STORM_SUPERVISOR_HARD_LIMIT_MEMORY_OVERAGE_MB

      If the memory usage of a worker goes over its limit by this value is it shot immediately. This value is combined with STORM_SUPERVISOR_HARD_LIMIT_MEMORY_MULTIPLIER and which ever is greater is used for enforcement. This allows small workers to not be shot.

    - #### STORM_SUPERVISOR_LOW_MEMORY_THRESHOLD_MB

          public static String STORM_SUPERVISOR_LOW_MEMORY_THRESHOLD_MB

      If the amount of memory that is free in the system (either on the box or in the supervisor's cgroup) is below this number (in MB) consider the system to be in low memory mode and start shooting workers if they are over their limit.

    - #### STORM_SUPERVISOR_MEDIUM_MEMORY_THRESHOLD_MB

          public static String STORM_SUPERVISOR_MEDIUM_MEMORY_THRESHOLD_MB

      If the amount of memory that is free in the system (either on the box or in the supervisor's cgroup) is below this number (in MB) consider the system to be a little low on memory and start shooting workers if they are over their limit for a given grace period STORM_SUPERVISOR_MEDIUM_MEMORY_GRACE_PERIOD_MS.

    - #### STORM_SUPERVISOR_MEDIUM_MEMORY_GRACE_PERIOD_MS

          public static String STORM_SUPERVISOR_MEDIUM_MEMORY_GRACE_PERIOD_MS

      The number of milliseconds that a worker is allowed to be over their limit when there is a medium amount of memory free in the system.

    - #### STORM_WORKER_MIN_CPU_PCORE_PERCENT

          public static String STORM_WORKER_MIN_CPU_PCORE_PERCENT

      The config indicates the minimum percentage of cpu for a core that a worker will use. Assuming the a core value to be 100, a value of 10 indicates 10% of the core. The P in PCORE represents the term "physical". A default value will be set for this config if user does not override.

      Workers in containers or cgroups may require a minimum amount of CPU in order to launch within the supervisor timeout. This setting allows configuring this to occur.

    - #### STORM_WORKER_TOKEN_LIFE_TIME_HOURS

          public static String STORM_WORKER_TOKEN_LIFE_TIME_HOURS

      The number of hours a worker token is valid for. This also sets how frequently worker tokens will be renewed.

    - #### STORM_OCI_NSCD_DIR

          public static String STORM_OCI_NSCD_DIR

      The directory of nscd - name service cache daemon, e.g. "/var/run/nscd/". nscd must be running so that profiling can work properly.

    - #### STORM_OCI_READONLY_BINDMOUNTS

          public static String STORM_OCI_READONLY_BINDMOUNTS

      A list of read only bind mounted directories.

    - #### STORM_OCI_READWRITE_BINDMOUNTS

          public static String STORM_OCI_READWRITE_BINDMOUNTS

      A list of read-write bind mounted directories.

    - #### STORM_OCI_CGROUP_PARENT

          public static String STORM_OCI_CGROUP_PARENT

      The cgroup root for oci container. (Also a --cgroup-parent config for docker command) Must follow the constraints of the docker command. The path will be made as absolute path if it's a relative path because we saw some weird bugs (the cgroup memory directory disappears after a while) when a relative path is used. Note that we only support cgroupfs cgroup driver because of some issues with systemd; restricting to `cgroupfs` also makes cgroup paths simple.

    - #### STORM_OCI_IMAGE

          public static String STORM_OCI_IMAGE

      Default oci image to use if the topology doesn't specify which oci image to use.

    - #### STORM_OCI_ALLOWED_IMAGES

          public static String STORM_OCI_ALLOWED_IMAGES

      A list of oci image that are allowed. A special entry of asterisk(*) means any image is allowed, but the image has to pass other checks. Storm currently assumes OCI container is not supported on the cluster if this is not configured.

    - #### STORM_OCI_SECCOMP_PROFILE

          public static String STORM_OCI_SECCOMP_PROFILE

      Specify the seccomp Json file to be used as a seccomp filter.

    - #### STORM_OCI_IMAGE_HDFS_TOPLEVEL_DIR

          public static String STORM_OCI_IMAGE_HDFS_TOPLEVEL_DIR

      The HDFS location under which the oci image manifests, layers, and configs directories exist.

    - #### STORM_OCI_IMAGE_TAG_TO_MANIFEST_PLUGIN

          public static final String STORM_OCI_IMAGE_TAG_TO_MANIFEST_PLUGIN

      The plugin to be used to get the image-tag to manifest mappings.
      See Also:
        Constant Field Values

    - #### STORM_OCI_MANIFEST_TO_RESOURCES_PLUGIN

          public static final String STORM_OCI_MANIFEST_TO_RESOURCES_PLUGIN

      The plugin to be used to get oci resource according to the manifest.
      See Also:
        Constant Field Values

    - #### STORM_OCI_RESOURCES_LOCALIZER

          public static final String STORM_OCI_RESOURCES_LOCALIZER

      The plugin to use for oci resources localization.
      See Also:
        Constant Field Values

    - #### STORM_OCI_RESOURCES_LOCAL_DIR

          public static final String STORM_OCI_RESOURCES_LOCAL_DIR

      The local directory for localized oci resources.
      See Also:
        Constant Field Values

    - #### STORM_OCI_LAYER_MOUNTS_TO_KEEP

          public static final String STORM_OCI_LAYER_MOUNTS_TO_KEEP

      Target count of OCI layer mounts that we should keep on disk at one time.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### DaemonConfig

          public DaemonConfig()

  - ### Method Detail

    - #### getCgroupRootDir

          public static String getCgroupRootDir​(Map<String,​Object> conf)

    - #### getCgroupStormHierarchyDir

          public static String getCgroupStormHierarchyDir​(Map<String,​Object> conf)

    - #### getCgroupStormResources

          public static ArrayList<String> getCgroupStormResources​(Map<String,​Object> conf)

      Get the cgroup resources from the conf.
      Parameters:
        `conf` - the config to read
      Returns:
        the resources.

    - #### getCgroupStormHierarchyName

          public static String getCgroupStormHierarchyName​(Map<String,​Object> conf)