[ { "desc": "The health test thresholds for monitoring of free space on the filesystem that contains this role's log directory. Specified as a percentage of the capacity on that filesystem. This setting is not used if a Log Directory Free Space Monitoring Absolute Thresholds setting is configured.", "display_name": "Log Directory Free Space Monitoring Percentage Thresholds", "name": "log_directory_free_space_percentage_thresholds", "value": "{\"critical\":\"never\",\"warning\":\"never\"}" }, { "desc": "

This file contains the rules which govern how log messages are turned into events by the custom log4j appender that this role loads. It is in JSON format, and is composed of a list of rules. Every log message is evaluated against each of these rules in turn to decide whether or not to send an event for that message.

Each rule has some or all of the following fields:


Example:{\"alert\": false, \"rate\": 10, \"exceptiontype\": \"java.lang.StringIndexOutOfBoundsException\"}

This rule will send events to Cloudera Manager for every StringIndexOutOfBoundsException, up to a maximum of 10 every minute.

", "display_name": "Rules to Extract Events from Log Files", "name": "log_event_whitelist", "value": "{\n \"version\": \"0\",\n \"rules\": [\n {\"alert\": false, \"rate\": 1, \"periodminutes\": 1, \"threshold\":\"FATAL\"},\n {\"alert\": false, \"rate\": 0, \"exceptiontype\": \"java.io.IOException\"},\n {\"alert\": false, \"rate\": 0, \"exceptiontype\": \"java.net.SocketException\"},\n {\"alert\": false, \"rate\": 0, \"exceptiontype\": \"java.net.SocketClosedException\"},\n {\"alert\": false, \"rate\": 0, \"exceptiontype\": \"java.io.EOFException\"},\n {\"alert\": false, \"rate\": 0, \"exceptiontype\": \"java.nio.channels.CancelledKeyException\"},\n {\"alert\": false, \"rate\": 0, \"threshold\":\"WARN\", \"content\": \".* is deprecated. Instead, use .*\"},\n {\"alert\": false, \"rate\": 0, \"threshold\":\"WARN\", \"content\": \".* is deprecated. Use .* instead\"},\n {\"alert\": false, \"rate\": 1, \"periodminutes\": 1, \"threshold\":\"WARN\", \"content\": \"IPC Server handler.*ClosedChannelException\"},\n {\"alert\": false, \"rate\": 1, \"periodminutes\": 1, \"threshold\":\"WARN\", \"content\": \"IPC Server Responder, call.*output error\"},\n {\"alert\": false, \"rate\": 1, \"periodminutes\": 1, \"threshold\":\"WARN\", \"content\": \"Daughter regiondir does not exist: .*\"},\n {\"alert\": false, \"rate\": 1, \"periodminutes\": 1, \"threshold\":\"WARN\", \"content\": \"File.*might still be open.*\"},\n {\"alert\": false, \"rate\": 1, \"periodminutes\": 1, \"threshold\":\"WARN\", \"content\": \"File.*might still be open.*\"},\n {\"alert\": false, \"rate\": 1, \"periodminutes\": 1, \"threshold\":\"WARN\", \"content\": \"Moving table .+ state to enabled but was already enabled\"},\n {\"alert\": false, \"rate\": 1, \"periodminutes\": 1, \"threshold\":\"WARN\", \"content\": \"Received OPENED for region.*but region was in the state.*\"},\n {\"alert\": false, \"rate\": 1, \"periodminutes\": 2, \"exceptiontype\": \".*\"},\n {\"alert\": false, \"rate\": 0, \"threshold\":\"WARN\", \"content\":\"Unknown job [^ ]+ being deleted.*\"},\n {\"alert\": false, \"rate\": 0, \"threshold\":\"WARN\", \"content\":\"Error executing shell command .+ No such process.+\"},\n {\"alert\": false, \"rate\": 0, \"threshold\":\"WARN\", \"content\":\".*attempt to override final parameter.+\"},\n {\"alert\": false, \"rate\": 0, \"threshold\":\"WARN\", \"content\":\"[^ ]+ is a deprecated filesystem name. Use.*\"},\n {\"alert\": false, \"rate\": 1, \"periodminutes\": 1, \"threshold\":\"WARN\"}\n ]\n}\n" }, { "desc": "The amount of time allowed after this role is started that failures of health checks that rely on communication with this role will be tolerated.", "display_name": "Health Check Startup Tolerance", "name": "master_startup_tolerance", "value": "5" }, { "desc": "Whether or not periodic stacks collection is enabled.", "display_name": "Stacks Collection Enabled", "name": "stacks_collection_enabled", "value": "false" }, { "desc": "Number of pooled threads to handle region closing in the master.", "display_name": "Region Closing Threads", "name": "hbase_master_executor_closeregion_threads", "value": "5" }, { "desc": "When computing the overall Master health, consider the host's health.", "display_name": "Master Host Health Test", "name": "master_host_health_enabled", "value": "true" }, { "desc": "Number of pooled threads to handle the recovery of the region servers in the master.", "display_name": "RegionServer Recovery Threads", "name": "hbase_master_executor_serverops_threads", "value": "5" }, { "desc": "Weight for the read I/O requests issued by this role. The greater the weight, the higher the priority of the requests when the host experiences I/O contention. Must be between 100 and 1000. Defaults to 1000 for processes not managed by Cloudera Manager.", "display_name": "Cgroup I/O Weight", "name": "rm_io_weight", "value": "500" }, { "desc": "Directory where Master will place its log files.", "display_name": "Master Log Directory", "name": "hbase_master_log_dir", "value": "/var/log/hbase" }, { "desc": "The health test thresholds on the duration of the metrics request to the web server.", "display_name": "Web Metric Collection Duration", "name": "master_web_metric_collection_thresholds", "value": "{\"critical\":\"never\",\"warning\":\"10000.0\"}" }, { "desc": "Time period in seconds to reset long-running metrics (e.g. compactions). This is an HBase specific configuration.", "display_name": "Extended Period", "name": "hbase_metrics_extended_period", "value": "3600" }, { "desc": "For advanced use only, a string to be inserted into log4j.properties for this role only.", "display_name": "Master Logging Advanced Configuration Snippet (Safety Valve)", "name": "log4j_safety_valve", "value": null }, { "desc": "The method that will be used to collect stacks. The jstack option involves periodically running the jstack command against the role's daemon process. The servlet method is available for those roles that have an HTTP server endpoint exposing the current stacks traces of all threads. When the servlet method is selected that HTTP endpoint is periodically scraped.", "display_name": "Stacks Collection Method", "name": "stacks_collection_method", "value": "jstack" }, { "desc": "The health test thresholds of the number of file descriptors used. Specified as a percentage of file descriptor limit.", "display_name": "File Descriptor Monitoring Thresholds", "name": "master_fd_thresholds", "value": "{\"critical\":\"70.0\",\"warning\":\"50.0\"}" }, { "desc": "The port that the HBase Master binds to.", "display_name": "HBase Master Port", "name": "hbase_master_port", "value": "60000" }, { "desc": "Enables the health test that the Cloudera Manager Agent can successfully contact and gather metrics from the web server.", "display_name": "Web Metric Collection", "name": "master_web_metric_collection_enabled", "value": "true" }, { "desc": "When set, this role's process is automatically (and transparently) restarted in the event of an unexpected failure.", "display_name": "Automatically Restart Process", "name": "process_auto_restart", "value": "false" }, { "desc": "List of org.apache.hadoop.hbase.coprocessor.MasterObserver coprocessors that are loaded by default on the active HMaster process. For any implemented coprocessor methods, the listed classes will be called in order. After implementing your own MasterObserver, just put it in HBase's classpath and add the fully qualified class name here.", "display_name": "HBase Coprocessor Master Classes", "name": "hbase_coprocessor_master_classes", "value": "" }, { "desc": "

The configured triggers for this role. This is a JSON formatted list of triggers. These triggers are evaluated as part as the health system. Every trigger expression is parsed, and if the trigger condition is met, the list of actions provided in the trigger expression is executed.

Each trigger has all of the following fields:

For example, here is a JSON formatted trigger configured for a DataNode that fires if the DataNode has more than 1500 file-descriptors opened:

[{\"triggerName\": \"sample-trigger\",\n  \"triggerExpression\": \"IF (SELECT fd_open WHERE roleName=$ROLENAME and last(fd_open) > 1500) DO health:bad\",\n  \"streamThreshold\": 0, \"enabled\": \"true\"}]

Consult the trigger rules documentation for more details on how to write triggers using tsquery.

The JSON format is evolving and may change in the future and as a result backward compatibility is not guaranteed between releases at this time.

", "display_name": "Role Triggers", "name": "role_triggers", "value": "[]" }, { "desc": "Maximum size in bytes for the Java Process heap memory. Passed to Java -Xmx.", "display_name": "Java Heap Size of HBase Master in Bytes", "name": "hbase_master_java_heapsize", "value": "1073741824" }, { "desc": "Soft memory limit to assign to this role, enforced by the Linux kernel. When the limit is reached, the kernel will reclaim pages charged to the process if and only if the host is facing memory pressure. If reclaiming fails, the kernel may kill the process. Both anonymous as well as page cache pages contribute to the limit. Use a value of -1 B to specify no limit. By default processes not managed by Cloudera Manager will have no limit.", "display_name": "Cgroup Memory Soft Limit", "name": "rm_memory_soft_limit", "value": "-1" }, { "desc": "The health test thresholds for the weighted average time spent in Java garbage collection. Specified as a percentage of elapsed wall clock time.", "display_name": "Garbage Collection Duration Thresholds", "name": "master_gc_duration_thresholds", "value": "{\"critical\":\"60.0\",\"warning\":\"30.0\"}" }, { "desc": "Hard memory limit to assign to this role, enforced by the Linux kernel. When the limit is reached, the kernel will reclaim pages charged to the process. If reclaiming fails, the kernel may kill the process. Both anonymous as well as page cache pages contribute to the limit. Use a value of -1 B to specify no limit. By default processes not managed by Cloudera Manager will have no limit.", "display_name": "Cgroup Memory Hard Limit", "name": "rm_memory_hard_limit", "value": "-1" }, { "desc": "When true, HBase Master will bind to 0.0.0.0. Only available with CDH 4.3 and later.", "display_name": "HBase Master Bind to Wildcard Address", "name": "hbase_master_bind_to_wildcard_address", "value": "true" }, { "desc": "Enables the health test that a client can connect to the HBase Master", "display_name": "HBase Master Canary Health Test", "name": "master_canary_health_enabled", "value": "true" }, { "desc": "The period to review when computing unexpected exits.", "display_name": "Unexpected Exits Monitoring Period", "name": "unexpected_exits_window", "value": "5" }, { "desc": "Advanced Configuration Snippet (Safety Valve) for Hadoop Metrics2. Properties will be inserted into hadoop-metrics2.properties.", "display_name": "Hadoop Metrics2 Advanced Configuration Snippet (Safety Valve)", "name": "hadoop_metrics2_safety_valve", "value": null }, { "desc": "The amount of stacks data that will be retained. After the retention limit is reached, the oldest data will be deleted.", "display_name": "Stacks Collection Data Retention", "name": "stacks_collection_data_retention", "value": "104857600" }, { "desc": "The port for the HBase Master web UI. Set to -1 to disable the HBase Master web UI.", "display_name": "HBase Master Web UI Port", "name": "hbase_master_info_port", "value": "60010" }, { "desc": "The period to review when computing the moving average of garbage collection time.", "display_name": "Garbage Collection Duration Monitoring Period", "name": "master_gc_duration_window", "value": "5" }, { "desc": "For advanced use only, a string to be inserted into hbase-site.xml for this role only.", "display_name": "Master Advanced Configuration Snippet (Safety Valve) for hbase-site.xml", "name": "hbase_master_config_safety_valve", "value": null }, { "desc": "The health test thresholds for monitoring of free space on the filesystem that contains this role's log directory.", "display_name": "Log Directory Free Space Monitoring Absolute Thresholds", "name": "log_directory_free_space_absolute_thresholds", "value": "{\"critical\":\"5.36870912E9\",\"warning\":\"1.073741824E10\"}" }, { "desc": "If configured, overrides the process soft and hard rlimits (also called ulimits) for file descriptors to the configured value.", "display_name": "Maximum Process File Descriptors", "name": "rlimit_fds", "value": null }, { "desc": "These arguments will be passed as part of the Java command line. Commonly, garbage collection flags or extra debugging flags would be passed here.", "display_name": "Java Configuration Options for HBase Master", "name": "hbase_master_java_opts", "value": "-XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:-CMSConcurrentMTEnabled -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled" }, { "desc": "When set, Cloudera Manager will send alerts when the health of this role reaches the threshold specified by the EventServer setting eventserver_health_events_alert_threshold", "display_name": "Enable Health Alerts for this Role", "name": "enable_alerts", "value": "true" }, { "desc": "The maximum size, in megabytes, per log file for Master logs. Typically used by log4j.", "display_name": "Master Max Log Size", "name": "max_log_size", "value": "200" }, { "desc": "When set, a SIGKILL signal is sent to the role process when java.lang.OutOfMemoryError is thrown.", "display_name": "Kill When Out of Memory", "name": "oom_sigkill_enabled", "value": "true" }, { "desc": "Maximum time an HLog remains in the .oldlogdir directory until an HBase Master thread deletes it.", "display_name": "Maximum Time to Keep HLogs", "name": "hbase_master_logcleaner_ttl", "value": "60000" }, { "desc": "When set, generates heap dump file when java.lang.OutOfMemoryError is thrown.", "display_name": "Dump Heap When Out of Memory", "name": "oom_heap_dump_enabled", "value": "false" }, { "desc": "The health test thresholds for unexpected exits encountered within a recent period specified by the unexpected_exits_window configuration for the role.", "display_name": "Unexpected Exits Thresholds", "name": "unexpected_exits_thresholds", "value": "{\"critical\":\"any\",\"warning\":\"never\"}" }, { "desc": "Number of RPC Server instances spun up on HBase Master.", "display_name": "HBase Master Handler Count", "name": "hbase_master_handler_count", "value": "25" }, { "desc": "The address for the HBase Master web UI", "display_name": "HBase Master Web UI Address", "name": "hbase_master_info_bindAddress", "value": null }, { "desc": "A comma-separated list of LogCleanerDelegate(s) that are used in LogsCleaner. WAL/HLog cleaner(s) are called in order, so put the log cleaner that prunes the most log files in the front. To implement your own LogCleanerDelegate, add it to HBase's classpath and add the fully-qualified class name here. You should always add the above default log cleaners in the list, unless you have a special reason not to.", "display_name": "HBase Master Log Cleaner Plugins", "name": "hbase_master_logcleaner_plugins", "value": null }, { "desc": "The directory in which stacks logs will be placed. If not set, stacks will be logged into a stacks subdirectory of the role's log directory.", "display_name": "Stacks Collection Directory", "name": "stacks_collection_directory", "value": null }, { "desc": "The maximum number of rolled log files to keep for Master logs. Typically used by log4j.", "display_name": "Master Maximum Log File Backups", "name": "max_log_backup_index", "value": "10" }, { "desc": "The host name or IP address of the DNS name server which an HBase Master should use to determine the host name used for communication and display purposes.", "display_name": "HBase Master DNS Name Server", "name": "hbase_master_dns_nameserver", "value": null }, { "desc": "Number of CPU shares to assign to this role. The greater the number of shares, the larger the share of the host's CPUs that will be given to this role when the host experiences CPU contention. Must be between 2 and 262144. Defaults to 1024 for processes not managed by Cloudera Manager.", "display_name": "Cgroup CPU Shares", "name": "rm_cpu_shares", "value": "1024" }, { "desc": "Path to directory where heap dumps are generated when java.lang.OutOfMemoryError error is thrown. This directory is automatically created if it doesn't exist. However, if this directory already exists, role user must have write access to this directory. If this directory is shared amongst multiple roles, it should have 1777 permissions. Note that the heap dump files are created with 600 permissions and are owned by the role user. The amount of free space in this directory should be greater than the maximum Java Process heap size configured for this role.", "display_name": "Heap Dump Directory", "name": "oom_heap_dump_dir", "value": "/tmp" }, { "desc": "Number of pooled threads to handle region opening in the master.", "display_name": "Region Opening Threads", "name": "hbase_master_executor_openregion_threads", "value": "5" }, { "desc": "The frequency with which stacks will be collected.", "display_name": "Stacks Collection Frequency", "name": "stacks_collection_frequency", "value": "5.0" }, { "desc": "When set, Cloudera Manager will send alerts when this entity's configuration changes.", "display_name": "Enable Configuration Change Alerts", "name": "enable_config_alerts", "value": "false" }, { "desc": "The name of the DNS network interface from which an HBase Master should report its IP address.", "display_name": "HBase Master DNS Network Interface", "name": "hbase_master_dns_interface", "value": null }, { "desc": "The minimum log level for Master logs", "display_name": "Master Logging Threshold", "name": "log_threshold", "value": "INFO" }, { "desc": "Enables the health test that the Master's process state is consistent with the role configuration", "display_name": "Master Process Health Test", "name": "master_scm_health_enabled", "value": "true" } ]