DataNode Health Tests

DataNode Block Count

This is a DataNode health test that checks for whether the DataNode has too many blocks. Having too many blocks on a DataNode may affect the DataNode's performance. A DataNode with a large number of blocks will require a larger java heap and may experience longer garbage collection pauses. Additionally, a large number of blocks may be an indicator of the presence of many small files. HDFS is not optimized for dealing with many small files, and processing times may suffer when operating across many small files. If only some DataNodes have a high number of blocks, running the HDFS Rebalance command may address this issue by moving data between DataNodes. If the HDFS Rebalance command reports the cluster as balanced without fixing the block imbalance then the problem is related to the presence of many small files. Consult the HDFS documentation for best-practices on addressing this issue. If many small files is not a concern for your use case, consider disabling this health test. If all DataNodes have a high number of blocks and the issue is not related to small files, additional DataNodes should be added. This test can be configured using the DataNode Block Count Thresholds DataNode monitoring setting.

Short Name: Block Count

Property Name Description Template Name Default Value Unit
DataNode Block Count Thresholds The health test thresholds of the number of blocks on a DataNode datanode_block_count_thresholds CDH=[[CDH 4.0.0‥CDH 4.5.0)=critical:never, warning:200000.0, [CDH 4.5.0‥CDH 6.0.0)=critical:never, warning:500000.0] no unit

DataNode Data Directory Status

This is a DataNode health test that checks for whether the DataNode has reported any failed volumes. A failure of this health test indicates that there is a problem with one or more volumes on the DataNode. See the DataNode system for more information. This test can be configured using the DataNode Volume Failures Thresholds DataNode monitoring setting.

Short Name: Data Directory Status

Property Name Description Template Name Default Value Unit
DataNode Volume Failures Thresholds The health test thresholds of failed volumes in a DataNode. datanode_volume_failures_thresholds critical:any, warning:never no unit

DataNode DataNode Data Directory Free Space

This is a DataNode health test that checks that the filesystem containing the DataNode Data Directory of this DataNode has sufficient free space. See the DataNode Data Directory description on the DataNode configuration page for more information on this directory type. This test can be configured using the DataNode Data Directory Free Space Monitoring Absolute Thresholds and DataNode Data Directory Free Space Monitoring Percentage Thresholds DataNode monitoring settings.

Short Name: DataNode Data Directory Free Space

Property Name Description Template Name Default Value Unit
DataNode Data Directory Free Space Monitoring Absolute Thresholds The health test thresholds for monitoring of free space on the filesystem that contains this role's DataNode Data Directory. datanode_data_directories_free_space_absolute_thresholds critical:5.36870912E9, warning:1.073741824E10 BYTES
DataNode Data Directory Free Space Monitoring Percentage Thresholds The health test thresholds for monitoring of free space on the filesystem that contains this role's DataNode Data Directory. Specified as a percentage of the capacity on that filesystem. This setting is not used if a DataNode Data Directory Free Space Monitoring Absolute Thresholds setting is configured. datanode_data_directories_free_space_percentage_thresholds critical:never, warning:never PERCENT

DataNode File Descriptors

This DataNode health test checks that the number of file descriptors used does not rise above some percentage of the DataNode file descriptor limit. A failure of this health test may indicate a bug in either Hadoop or Cloudera Manager. Contact Cloudera support. This test can be configured using the File Descriptor Monitoring Thresholds DataNode monitoring setting.

Short Name: File Descriptors

Property Name Description Template Name Default Value Unit
File Descriptor Monitoring Thresholds The health test thresholds of the number of file descriptors used. Specified as a percentage of file descriptor limit. datanode_fd_thresholds critical:70.0, warning:50.0 PERCENT

DataNode Free Space

This is a DataNode health test that checks that the amount of free space available for HDFS block data on the DataNode does not fall below some percentage of total configured capacity of the DataNode. A failure of this health test may indicate a capacity planning problem. Try adding more disk capacity and additional data directories to the DataNode, or add additional DataNodes and take steps to rebalance your HDFS cluster. This test can be configured using the DataNode Free Space Monitoring Thresholds DataNode monitoring setting.

Short Name: Free Space

Property Name Description Template Name Default Value Unit
DataNode Free Space Monitoring Thresholds The health test thresholds of free space in a DataNode. Specified as a percentage of the capacity on the DataNode. datanode_free_space_thresholds critical:10.0, warning:20.0 PERCENT

DataNode Heap Dump Directory Free Space

This DataNode health test checks that the filesystem containing the heap dump directory of this DataNode has sufficient free space. This test can be configured using the Heap Dump Directory Free Space Monitoring Absolute Thresholds and Heap Dump Directory Free Space Monitoring Percentage Thresholds DataNode monitoring settings.

Short Name: Heap Dump Directory Free Space

Property Name Description Template Name Default Value Unit
Heap Dump Directory Free Space Monitoring Absolute Thresholds The health test thresholds for monitoring of free space on the filesystem that contains this role's heap dump directory. heap_dump_directory_free_space_absolute_thresholds critical:5.36870912E9, warning:1.073741824E10 BYTES
Heap Dump Directory Free Space Monitoring Percentage Thresholds The health test thresholds for monitoring of free space on the filesystem that contains this role's heap dump directory. Specified as a percentage of the capacity on that filesystem. This setting is not used if a Heap Dump Directory Free Space Monitoring Absolute Thresholds setting is configured. heap_dump_directory_free_space_percentage_thresholds critical:never, warning:never PERCENT

DataNode Host Health

This DataNode health test factors in the health of the host upon which the DataNode is running. A failure of this test means that the host running the DataNode is experiencing some problem. See that host's status page for more details.This test can be enabled or disabled using the DataNode Host Health Test DataNode monitoring setting.

Short Name: Host Health

Property Name Description Template Name Default Value Unit
DataNode Host Health Test When computing the overall DataNode health, consider the host's health. datanode_host_health_enabled true no unit

DataNode Log Directory Free Space

This DataNode health test checks that the filesystem containing the log directory of this DataNode has sufficient free space. This test can be configured using the Log Directory Free Space Monitoring Absolute Thresholds and Log Directory Free Space Monitoring Percentage Thresholds DataNode monitoring settings.

Short Name: Log Directory Free Space

Property Name Description Template Name Default Value Unit
Log Directory Free Space Monitoring Absolute Thresholds The health test thresholds for monitoring of free space on the filesystem that contains this role's log directory. log_directory_free_space_absolute_thresholds critical:5.36870912E9, warning:1.073741824E10 BYTES
Log Directory Free Space Monitoring Percentage Thresholds 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. log_directory_free_space_percentage_thresholds critical:never, warning:never PERCENT

DataNode NameNode Connectivity

This is a DataNode health test that checks that all the running NameNodes in the HDFS service consider the DataNode alive. A failure of this health test may indicate that the DataNode is having trouble communicating with some or all NameNodes in the service. Look in the DataNode logs for more details. This test can be enabled or disabled using the DataNode Connectivity Health Test DataNode monitoring setting. The DataNode Connectivity Tolerance at Startup DataNode monitoring setting and the Health Check Startup Tolerance NameNode monitoring setting can be used to control the test's tolerance windows around DataNode and NameNode restarts respectively.

Short Name: NameNode Connectivity

Property Name Description Template Name Default Value Unit
DataNode Connectivity Health Test Enables the health test that verifies the DataNode is connected to the NameNode datanode_connectivity_health_enabled true no unit
DataNode Connectivity Tolerance at Startup The amount of time to wait for the DataNode to fully start up and connect to the NameNode before enforcing the connectivity check. datanode_connectivity_tolerance 180 SECONDS
Health Check Startup Tolerance 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. namenode_startup_tolerance 5 MINUTES

DataNode Pause Duration

This DataNode health test checks that the DataNode threads are not experiencing long scheduling pauses. The test uses a pause monitoring thread in the DataNode that tracks scheduling delay by noting if it is run on its requested schedule. If the thread is not run on its requested schedule, the delay is noted and considered pause time. The health test checks that no more than some percentage of recent time is spent paused. A failure of this health test may indicate that the DataNode is not getting enough CPU resources, or that it is spending too much time doing garbage collection. Inspect the DataNode logs for any pause monitor output and check garbage collection metrics exposed by the DataNode. This test can be configured using the Pause Duration Thresholds and Pause Duration Monitoring Period DataNode monitoring settings.

Short Name: Pause Duration

Property Name Description Template Name Default Value Unit
Pause Duration Monitoring Period The period to review when computing the moving average of extra time the pause monitor spent paused. datanode_pause_duration_window 5 MINUTES
Pause Duration Thresholds The health test thresholds for the weighted average extra time the pause monitor spent paused. Specified as a percentage of elapsed wall clock time. datanode_pause_duration_thresholds critical:60.0, warning:30.0 no unit

DataNode Process Status

This DataNode health test checks that the Cloudera Manager Agent on the DataNode host is heart beating correctly and that the process associated with the DataNode role is in the state expected by Cloudera Manager. A failure of this health test may indicate a problem with the DataNode process, a lack of connectivity to the Cloudera Manager Agent on the DataNode host, or a problem with the Cloudera Manager Agent. This test can fail either because the DataNode has crashed or because the DataNode will not start or stop in a timely fashion. Check the DataNode logs for more details. If the test fails because of problems communicating with the Cloudera Manager Agent on the DataNode host, check the status of the Cloudera Manager Agent by running /etc/init.d/cloudera-scm-agent status on the DataNode host, or look in the Cloudera Manager Agent logs on the DataNode host for more details. This test can be enabled or disabled using the DataNode Process Health Test DataNode monitoring setting.

Short Name: Process Status

Property Name Description Template Name Default Value Unit
DataNode Process Health Test Enables the health test that the DataNode's process state is consistent with the role configuration datanode_scm_health_enabled true no unit

DataNode Swap Memory Usage

This DataNode health test checks the amount of swap memory in use by the role. A failure of this health test may indicate that your machine is overloaded. This test can be configured using the Process Swap Memory Thresholds monitoring settings.

Short Name: Swap Memory Usage

Property Name Description Template Name Default Value Unit
Process Swap Memory Thresholds The health test thresholds on the swap memory usage of the process. process_swap_memory_thresholds critical:never, warning:any BYTES

DataNode Transceiver Usage

This is a DataNode health test that checks for whether the DataNode transceivers usage is nearing the configured transceivers limit. A transceiver is a thread used to transfer data into or out of the DataNode. If a DataNode hits its transceivers limit, HDFS reads and writes begin to fail. This test can be configured using the DataNode Transceivers Usage Thresholds DataNode monitoring setting. The Maximum Number of Transfer Threads DataNode setting controls the DataNode transceivers limit.

Short Name: Transceiver Usage

Property Name Description Template Name Default Value Unit
DataNode Transceivers Usage Thresholds The health test thresholds of transceivers usage in a DataNode. Specified as a percentage of the total configured number of transceivers. datanode_transceivers_usage_thresholds critical:95.0, warning:75.0 PERCENT
Maximum Number of Transfer Threads Specifies the maximum number of threads to use for transferring data in and out of the DataNode. dfs_datanode_max_xcievers CDH=[[CDH -3.0.0‥CDH -3.0.0]=4096, [CDH 3.0.0‥CDH 4.0.0)=4096, [CDH 4.0.0‥CDH 6.0.0)=4096] no unit

DataNode Unexpected Exits

This DataNode health test checks that the DataNode has not recently exited unexpectedly. The test returns "Bad" health if the number of unexpected exits exceeds a critical threshold. For example, if this test is configured with a critical threshold of 1, this test returns "Good" health if there have been no unexpected exits recently. If 1 or more unexpected exits occured recently, this test returns "Bad" health. The test also indicates whether any of the exits were caused by an OutOfMemory error if the Cloudera Manager Kill When Out of Memory monitoring setting is enabled. This test can be configured using the Unexpected Exits Thresholds and Unexpected Exits Monitoring Period DataNode monitoring settings.

Short Name: Unexpected Exits

Property Name Description Template Name Default Value Unit
Unexpected Exits Monitoring Period The period to review when computing unexpected exits. unexpected_exits_window 5 MINUTES
Unexpected Exits Thresholds The health test thresholds for unexpected exits encountered within a recent period specified by the unexpected_exits_window configuration for the role. unexpected_exits_thresholds critical:any, warning:never no unit

DataNode Web Server Status

This health test checks that the role's web server is responding quickly to requests by the Cloudera Manager Agent, and that the Cloudera Manager Agent can collect metrics from the web server. Failure of this health test may indicate a problem with the web server of the DataNode, a misconfiguration of the DataNode, or a problem with the Cloudera Manager Agent. Consult the Cloudera Manager Agent logs and the logs of the DataNode for more detail. If the test failure message indicates a communication problem, the Cloudera Manager Agent's HTTP requests to the DataNode's web server are failing or timing out. If the test's failure message indicates an unexpected response, the DataNode's web server responded to the Cloudera Manager Agent's request, but the response could not be interpreted for some reason. This test can be configured using the Web Metric Collection DataNode monitoring setting.

Short Name: Web Server Status

Property Name Description Template Name Default Value Unit
Web Metric Collection Enables the health test that the Cloudera Manager Agent can successfully contact and gather metrics from the web server. datanode_web_metric_collection_enabled true no unit
Web Metric Collection Duration The health test thresholds on the duration of the metrics request to the web server. datanode_web_metric_collection_thresholds critical:never, warning:10000.0 MILLISECONDS