• Articles
  • Tutorials
  • Interview Questions

What is Apache Hadoop YARN?

What is Apache Hadoop YARN?

This blog is dedicated to introducing Apache Hadoop YARN and its various concepts, but before we get into learning what Hadoop YARN is, we must get acquainted with Apache Hadoop first, especially if we are new to Apache family. This way, it will be easy for us to understand Hadoop YARN better. So get a quick introduction to Apache Hadoop.

Coming back to YARN, let’s check out what this blog has to offer:

Certification in Bigdata Analytics

What is Hadoop YARN?

YARN is one of the core components of the open-source Apache Hadoop distributed processing frameworks which helps in job scheduling of various applications and resource management in the cluster. YARN was initially called ‘MapReduce 2’ since it took the original MapReduce to another level by giving new and better approaches for decoupling MapReduce resource management for scheduling capabilities from the data processing unit.

YARN is being extensively used for writing applications by Hadoop Developers. It lets them create applications, work with huge amounts of data, and manipulate them in an efficient manner. YARN is much more effective and versatile than Hadoop MapReduce, and this is exactly what is required in a world inundated with big data. However, it will remain the most sought-after tool until the perennial search—for a tool that works well in the challenging environment of Big Data Hadoop—comes up with a new befitting tool.

Watch Big Data & Hadoop Full Course – Learn Hadoop In 12 Hours Tutorial

Video Thumbnail
Youtube subscribe

YARN vs. MapReduce

In Hadoop 1.0, the batch processing framework MapReduce was closely paired with HDFS (Hadoop Distributed File System). With the addition of YARN to these two components, giving birth to Hadoop 2.0, came a lot of differences in the ways in which Hadoop worked. Let’s go through these differences.

CriteriaYARNMapReduce
Type of processingReal-time, batch, and interactive processing with multiple enginesSilo and batch processing with a single engine
Cluster resource optimizationExcellent due to central resource managementAverage due to fixed Map and Reduce slots
Suitable forMapReduce and non-MapReduce applicationsOnly MapReduce applications
Managing cluster resourceDone by YARNDone by JobTracker
NamespaceWith YARN, Hadoop supports multiple namespacesOnly one namespace could be supported, i.e., HDFS

Why YARN?

In spite of being thoroughly proficient at data processing and computations, Hadoop had some shortcomings like delays in batch processing, scalability issues, etc. as it relied on MapReduce for processing big datasets. With YARN, Hadoop is now able to support a variety of processing approaches and has a larger array of applications. Hadoop YARN clusters are now able to run stream data processing and interactive querying side by side with MapReduce batch jobs. YARN framework runs even the non-MapReduce applications, thus overcoming the shortcomings of Hadoop 1.0.

Advantages of YARN

What are the advantages of YARN
The architecture of YARN ensures that the Hadoop cluster can be enhanced in the following ways:
  • Multi-tenancy

YARN lets you access various proprietary and open-source engines for deploying Hadoop as a standard for real-time, interactive, and batch processing tasks that are able to access the same dataset and parse it.

  • Cluster Utilization

YARN lets you use the Hadoop cluster in a dynamic way, rather than in a static manner by which MapReduce applications were using it, and this is a better and optimized way of utilizing the cluster.

  • Scalability

YARN gives the power of scalability to the Hadoop cluster. YARN ResourceManager (RM) service is the central controlling authority for resource management and it makes allocation decisions.

  • Compatibility

YARN tool is highly compatible with the existing Hadoop MapReduce applications, and thus those projects that are working with MapReduce in Hadoop 1.0 can easily move on to Hadoop 2.0 with YARN without any difficulty, ensuring complete compatibility.

 

Get 100% Hike!

Master Most in Demand Skills Now!

Architecture of Hadoop YARN

As it is obvious by now, YARN is used as a system for managing distributed applications. The YARN architecture has a central ResourceManager that is used for arbitrating all the available cluster resources and NodeManagers that take instructions from the ResourceManager and are assigned with the task of managing the resource available on a single node.
How Apache Hadoop YARN works

 

ResourceManager

YARN ResourceManager of Hadoop 2.0 is fundamentally an application scheduler that is used for scheduling jobs. Mesos scheduler, on the other hand, is a general-purpose scheduler for a data center. The job of YARN scheduler is allocating the available resources in the system, along with the other competing applications. It helps manage the cluster utilization so that all resources are occupied at all times.

Application Master

One of the key features of Hadoop 2.0 YARN is the availability of the Application Master. It is used for working with NodeManagers and can negotiate the resources with the ResourceManager. It extensively monitors resource consumption, various containers, and the progress of the process.

Application Master adds more to the glory of Hadoop YARN in the following ways:

  • Application Master makes the YARN ecosystem much more open, thanks to the application-specific code framework that lets you generalize the system so that various frameworks can now be supported including Graph Processing, MapReduce, and MPI, among others.
  • Application Master provides enough functionality while taking care of all the complexities. This allows the application framework authors to have the right amount of power and flexibility.
  • Application Master is not a privileged service, but it is more of a user-code.
  • Every application has an Application Master instance allocated to it. Thus, it is possible to implement the Application Master for managing a set of applications. However, it is also possible to work with bigger services that are managed by their own applications like HBase in YARN.

What does Apache Hadoop YARN do?

YARN is a very important aspect of the enterprise Hadoop setup that is used for the resource management process. It is a central platform for consistent operations, data governance, security, and other aspects of the Hadoop cluster. YARN can extend the Hadoop ecosystem to newer technologies used in the data centers. It is a consistent platform that is used for writing data access applications that run in Hadoop.

How does Apache Hadoop YARN work?

Apache Hadoop YARN

YARN separates HDFS and MapReduce and this makes the Hadoop environment more suitable for applications that can’t wait for the batch processing jobs to finish. So, no more batch processing delays with YARN! This architecture lets you process data with multiple processing engines using real-time streaming, interactive SQL, batch processing, handling of data stored in a single platform, and working with analytics in a completely different manner. YARN can be considered as the basis of the next generation of the Hadoop ecosystem, ensuring that the forward-thinking organizations are realizing the modern data architecture.

YARN is an exclusive Hadoop feature that has enhanced the whole application processing speed by making scheduling and resource allocation easier and much efficient.

We hope that you got to learn something from this blog. We will be posting more blogs on trending technologies. Do visit again!

 

About the Author

Technical Research Analyst - Big Data Engineering

Abhijit is a Technical Research Analyst specialising in Big Data and Azure Data Engineering. He has 4+ years of experience in the Big data domain and provides consultancy services to several Fortune 500 companies. His expertise includes breaking down highly technical concepts into easy-to-understand content.