Book Image

Apache Hadoop 3 Quick Start Guide

By : Hrishikesh Vijay Karambelkar
Book Image

Apache Hadoop 3 Quick Start Guide

By: Hrishikesh Vijay Karambelkar

Overview of this book

Apache Hadoop is a widely used distributed data platform. It enables large datasets to be efficiently processed instead of using one large computer to store and process the data. This book will get you started with the Hadoop ecosystem, and introduce you to the main technical topics, including MapReduce, YARN, and HDFS. The book begins with an overview of big data and Apache Hadoop. Then, you will set up a pseudo Hadoop development environment and a multi-node enterprise Hadoop cluster. You will see how the parallel programming paradigm, such as MapReduce, can solve many complex data processing problems. The book also covers the important aspects of the big data software development lifecycle, including quality assurance and control, performance, administration, and monitoring. You will then learn about the Hadoop ecosystem, and tools such as Kafka, Sqoop, Flume, Pig, Hive, and HBase. Finally, you will look at advanced topics, including real time streaming using Apache Storm, and data analytics using Apache Spark. By the end of the book, you will be well versed with different configurations of the Hadoop 3 cluster.
Table of Contents (10 chapters)

Deep dive with YARN application framework

In this section, we will do a deep dive into YARN application development. YARN offers flexibility to developers to write applications that can run on Hadoop clusters in different programming languages. In this section, we will focus on setting up a YARN project, we will write a sample client and application master, and we will see how it runs on a YARN cluster. The following block diagram shows typical interaction patterns between various components of Apache Hadoop when a YARN application is developed and deployed:

Primarily, there are three major components involved: Resource Manager, Application Master, and Node Manager. We will be creating a custom client application, a custom application master, and a YARN client app. As you can see, there are three different interactions that take place between different components:

  • Client and...