Querying YARN cluster for available resources
I have been trying to use Apache YARN for graphchi project (http://graphlab.org/graphchi/). GraphChi enables computation on big graphs using a single machine by efficient way of sharding the data. Thus only part of the graph is in memory at any point.
In a cluster of computers managed by YARN, I wish to write a GraphChi’s Application Master which can ask the cluster for machines based on estimated usage of memory by that program. I want this application master to be adaptive based on the resources available on cluster. More number shards implies less memory usage but more IO. Hence, ideally the GraphChi’s application master should query the resource manager for the resources available and decide on how many shards based on the container sizes the cluster can offer.
I am not sure if seeing the entire state of cluster / querying the resource manager is possible in YARN. Please let me know if this is possible. If not, then is there some good way to achieve this?