
Now we will go forth explaining YARN with three parts. This posting is the first time that describes an overview and features of YARN.
Overview
YARN is the abbreviation for Yet Another Resource Negotiator and is a resource manager of Hadoop and a module newly added in Hadoop 2.0 version. YARN is the framework that works the scheduling with Cluster Resources (CPU, memory, disk, etc.) for an operation of the data processing, so it is a project started to overcome defect of MapReduce that is the data processing framework of existing Hadoop.
For example, MapReduce creates bottlenecks in the process of expanding over 4,000 nodes of very large cluster. The various applications such as MapReduce, Hive, Impala, Tajo, and Spark perform the operation for being allocated the resource from YARN.
The below is the figures comparing Hadoop 1.x and 2.x version.
Features of YARN 1. Divide job tracker into resource manager and application master
The job tracker of Hadoop 1.0 MapReduce performs two functions. One is the management for the resource of total cluster, and another is to manage until jobs succeed by performing them. Likewise, the resource manager and application master are separated in YARN, so there is the resource manager for each YARN cluster and there is the node manager for each server in the cluster.
Each job is operated on the distributed environment, and a server is performed as a master. Therefore, they receive the necessary resource from the resource manager and manage tasks in the job.
The tasks are run in the module called ‘Container’, and at Hadoop 1.0 MapReduce, it is a task in the task tracker. Container as the universal module can very simply execute shell script and it regularly reports the condition of running task to the application master. (i.e. a task tracker report the situation to the job tracker at Hadoop 1.0 MapReduce.)
2. Use the computing support more efficiently
The mapper shown at Hadoop 1.0 MapReduce and the number of slots of Reducer don’t exist since the node managers of each server execute the tasks and manage the necessary resources. The problem of Hadoop 1.0 MapReduce is to set the mapper and reducer separately – the mapper run but reducer doesn’t and the reverse is too.
In other words, the utilization of aggregate cluster is extremely lower. According to the resource condition of aggregate cluster and the request of required resource, it is determined the number of executed containers, not exist slots separately in containers.
In YARN, the node managers run tasks as needed. For example, the default value – a parameter called yarn.nodemanager.resource-md determines the memory allocated in node manager – is 8,192MB.
3. Support larger scale.
Hadoop 1.0 Job Tracker is a node and has limits because it manages the resources of whole clusters and running jobs. For example, there are some problems that don’t implement more than 4,000 clusters or more than 40,000 jobs at the same time. However, YARN can solve the problems by dividing the resource manager and application master.
4. Support other distributed processing environment than MapReduce
It is possible to develop new distributed processing environment by using YARN API, but never easy. The distributed processing environments operate as an application on YARN, but not an installation service. For example, it operates as an application and runs wordcount on that. And when the run ends, MapReduce also disappear on YARN.
YARN has a self-environment settings file (yarn-site.xml), and the applications operated on it have the file. In case of MapReduce, mapred-site.xml is just the environment settings file as shown in Hadoop 1.0.
Tags: big data , Cluster , hadoop , MapReduce , Resource , YARN
Common questions
Is YARN the same thing as Hadoop?
No. YARN is one component inside the Hadoop project, specifically the resource management and scheduling layer. Hadoop also includes HDFS for storage and, originally, MapReduce for processing; YARN is what lets other processing frameworks run on the same cluster as MapReduce.
What's the real difference between YARN's Capacity Scheduler and Fair Scheduler?
The Capacity Scheduler guarantees each queue a fixed share of cluster resources and enforces strict limits, which suits organizations that need predictable per-team allocations. The Fair Scheduler aims to give all running applications an equal share of resources over time and reallocates idle capacity more freely, which suits clusters with uneven, bursty workloads.
Does Apache Spark require YARN to run?
No. Spark can run in its own standalone cluster mode, on Kubernetes, or on YARN. YARN is a common choice when Spark needs to share a cluster with other Hadoop ecosystem workloads rather than run on dedicated hardware.
How is a graph-processing engine on YARN different from a graph database?
Frameworks like Apache Giraph or Spark GraphX run as YARN applications that compute over an entire graph at once, which suits heavy analytical workloads. A graph database, such as Neo4j or Apache AGE, is designed for transactional, low-latency queries against a graph that is also being updated continuously. The two are typically used together rather than as substitutes.
Is Cloudera still a separate company from Hortonworks?
No. Cloudera and Hortonworks merged in 2019, and the combined company now sells the Cloudera Data Platform, which continues to include YARN as its cluster resource management layer. Check Cloudera's documentation directly for the current product lineup, since vendor packaging changes.
What does a Hadoop distribution vendor actually provide beyond the open-source code?
Mainly a support contract and management tooling. Cloudera, for example, packages Hadoop and YARN with Cloudera Manager for installation and monitoring, then sells support for troubleshooting, patching, and upgrades, plus professional services for cluster design and migrations. The underlying Hadoop and YARN code itself stays open source either way.
Sources
About this page
Last reviewed October 30, 2026 by the Nine Bits editors. Read our editorial policy or report an error.