Projects powered by YARN
Efficient and reliable resource management is a basic need of a distributed application framework. YARN provides a generic resource management framework to support data analysis through multiple data processing algorithms. There are a lot of projects that have started using YARN for resource management. We've listed a few of these projects here and discussed how YARN integration solves their business requirements:
- Apache Giraph: Giraph is a framework for offline batch processing of semistructured graph data stored using Hadoop. With the Hadoop 1.x version, Giraph had no control over the scheduling policies, heap memory of the mappers, and locality awareness for the running job. Also, defining a Giraph job on the basis of mappers / reducers slots was a bottleneck. YARN's flexible resource allocation model, locality awareness principle, and application master framework ease the Giraph's job management and resource allocation to tasks.
- Apache Spark: Spark enables iterative data processing and machine learning algorithms to perform analysis over data available through HDFS, HBase, or other storage systems. Spark uses YARN's resource management capabilities and framework to submit the DAG of a job. The spark user can focus more on data analytics' use cases rather than how spark is integrated with Hadoop or how jobs are executed.
Some other projects powered by YARN are as follows:
- MapReduce: https://issues.apache.org/jira/browse/MAPREDUCE-279
- Giraph: https://issues.apache.org/jira/browse/GIRAPH-13
- Spark: http://spark.apache.org/
- OpenMPI: https://issues.apache.org/jira/browse/MAPREDUCE-2911
- HAMA: https://issues.apache.org/jira/browse/HAMA-431
- HBase: https://issues.apache.org/jira/browse/HBASE-4329
- Storm: http://hortonworks.com/labs/storm/
Note
A page on Hadoop wiki lists a number of projects/applications that are migrating to or using YARN as their resource management tool.
You can see this at http://wiki.apache.org/hadoop/PoweredByYarn.