-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/38651/
-----------------------------------------------------------

Review request for Ambari, Andrew Onischuk, Dmitro Lisnichenko, Jonathan 
Hurley, Nate Cole, Sumit Mohanty, Srimanth Gunturi, and Sid Wagle.


Bugs: AMBARI-13194
    https://issues.apache.org/jira/browse/AMBARI-13194


Repository: ambari


Description
-------

Ambari uses the dfs.datanode.data.dir.mount.file property in HDFS, whose value 
is typically /etc/hadoop/conf/dfs_data_dir_mount.hist
to track the mount points for each of the data dirs.

E.g.,
{code}
/hadoop01/data,/device1
/hadoop02/data,/device2
/hadoop03/data,/     # this one is on root, the others are all on mount points.
{code}

Whenever a drive becomes unmounted, Ambari detects that it was previously on a 
mount and will not create that data dir; HDFS can still tolerate the failure if 
dfs.datanode.failed.volumes.tolerated is greater than 0.
Now, if the /etc/hadoop/conf/dfs_data_dir_mount.hist file is deleted, then 
Ambari won't have this knowledge, and will create the datadir (even if it's on 
the root partition).

To improve tracking, create an alert definition that checks the following
* warning status if the /etc/hadoop/conf/dfs_data_dir_mount.hist file is deleted
* critical status if at least one of the data dirs is mounted on the root 
partition, and at least one data dir is on a mount


Diffs
-----

  ambari-common/src/main/python/resource_management/core/providers/system.py 
213adc5 
  
ambari-common/src/main/python/resource_management/libraries/functions/dfs_datanode_helper.py
 a05e162 
  ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/alerts.json 
477fd95 
  
ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/alerts/alert_datanode_unmounted_data_dir.py
 PRE-CREATION 
  
ambari-server/src/test/python/stacks/2.0.6/HDFS/test_alert_datanode_unmounted_data_dir.py
 PRE-CREATION 

Diff: https://reviews.apache.org/r/38651/diff/


Testing
-------

* Python unit tests passed
* Verified that the alert worked on several hosts for all 3 types of statuses 
(WARNING, CRITICAL, OK)
* Also checked that it did not run on a host without DataNode, and it did run 
once I added DataNode to that host


Thanks,

Alejandro Fernandez

Reply via email to