I want to use Apache YARN as a cluster and resource manager for running a framework where resources would be shared across different task of the same framework. I want to use my own distributed off-heap file system. 

1. Is it possible to use any other distributed file system with YARN
other than HDFS?
2. If yes, what HDFS APIs need to be implemented?
3. What Hadoop components are required to run YARN?