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)

Building Rich YARN Applications

"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
– Martin Golding

YARN or (Yet Another Resource Negotiator) was introduced in Hadoop version 2 to open distributed programming for all of the problems that may not necessarily be addressed using the MapReduce programming technique. Let's look at the key reasons behind introducing YARN in Hadoop:

  • The older Hadoop used Job Tracker to coordinate running jobs whereas Task Tracker was used to run assigned jobs. This eventually became a bottleneck due to a single Job Tracker when working with a high number of Hadoop nodes.
  • With traditional MapReduce, the nodes were assigned fixed numbers of Map and Reduce slots. Due to this nature, the utilization of the cluster resources was not optimal due to inflexibility between...