Welcome!

SDN Journal Authors: Elizabeth White, Yeshim Deniz, Liz McMillan, Pat Romanski, TJ Randall

Related Topics: @DXWorldExpo, Java IoT, Open Source Cloud, @CloudExpo, Apache, SDN Journal

@DXWorldExpo: Article

The Components of Apache Hadoop

A technical description of the projects that comprise Hadoop

What is Hadoop?
Following my high-level write-up of Hadoop and Big Data, this article will present each of the components or projects that make up Hadoop with a technical description of each.

First, what is Hadoop?

Hadoop stores and processes large volumes of a wide variety of data that changes rapidly. It analyses and summarizes the data. For example: census of a city, web page analytics, threat analysis, risk models, network failures, etc.

Hadoop is redundant and reliable, powerful and focused on batch processing.

Hadoop divides a large data processing job into many smaller tasks that can be distributed across all the nodes

Hadoop comprises two main components:

  • MapReduce: The task to analyse the data and summarize the results
  • HDFS: The distributed file system, on commodity server hardware, that contains the data.

On each server there is a task tracker and a data node:

DataNode
The data node stores the data in HDFS and keeps track of access to the data.

TaskTracker
Task tracker launches a map reduce job on a node and manages the many tasks within one MapReduce job. So if my project was to conduct a census count, task tracker may count the members of a household on a data node. When finshed, task tracker reports its status to the job tracker. (Note: as of this writing, May 2013, TaskTracker is being obsoleted and replaced by "Yarn" in MapReduce v2.

JobTracker
Job tracker keeps track of all the jobs being executed and tries to schedule each map job as close to the actual data being processed. If a task has failed or disappeared perhaps due to hardware failure, job tracker will assign that task to another node.

So, now that I know what is a task and job how do I write tasks? How does a user create a map reduce job? There are various projects that make it easy. (As to how the projects were named, don't ask me!)

Apache Pig
To write a computer program, a software engineer might use a compiler, like "C",  that compiles 'pseudo english instructions (IF, THEN, FOR, ELSE) and creates machine code that a computer an execute. Similarly, Apache Pig is a high level language that expresses data map reduce jobs and translates them to JAVA computer language. Pig's primary feature is that it can be run in parallel, meaning many map reduce jobs can run simultaneously to allow linear scaling and efficiency.

Apache Hive
Hive is a SQL like language, HiveQL, which allows you to define computation in SQL like language and then and translate it down into map reduce JAVA code. Hive also allows traditional MapRedce programmers to plug in their custom MapReducers when it is  inefficient to express their logic in HiveQL.

hBase
hBase is a simple interface to distributed data that allows incremental processing. hBase stores its information in HDFS and metadata in zookeeper.

hCatalog
hCatalog is an abstraction layer for referencing data without using the underlying file­names or formats. It insulates users and scripts from how and where the data is physically stored.

Some of the smaller projects

Mahout
Mahout is a machine learning library to write MapReduce applications focused on machine learning

Ambari, Gagli and Nagios
These projects help you understand what goes on in your cluster

Scoop
Scoop is a tool that lets you run map reduce applications to or from sql databases

Oozie
Oozie is a workflow that triggers MapReduce jobs and executes them automatically or launches when new data becomes available.

Flume
Streams inputs into hadoop and gets that data loaded into hdfs

Here is a graphical view of the components

Hadoop components, courtesy of Hortonworks

(courtesy of Hortonworks)

More Stories By Jonathan Gershater

Jonathan Gershater has lived and worked in Silicon Valley since 1996, primarily doing system and sales engineering specializing in: Web Applications, Identity and Security. At Red Hat, he provides Technical Marketing for Virtualization and Cloud. Prior to joining Red Hat, Jonathan worked at 3Com, Entrust (by acquisition) two startups, Sun Microsystems and Trend Micro.

(The views expressed in this blog are entirely mine and do not represent my employer - Jonathan).

CloudEXPO Stories
Digital Transformation and Disruption, Amazon Style - What You Can Learn. Chris Kocher is a co-founder of Grey Heron, a management and strategic marketing consulting firm. He has 25+ years in both strategic and hands-on operating experience helping executives and investors build revenues and shareholder value. He has consulted with over 130 companies on innovating with new business models, product strategies and monetization. Chris has held management positions at HP and Symantec in addition to advisory roles at startups. He has worked extensively on monetization, SAAS, IoT, ecosystems, partnerships and accelerating growth in new business initiatives.
Whenever a new technology hits the high points of hype, everyone starts talking about it like it will solve all their business problems. Blockchain is one of those technologies. According to Gartner's latest report on the hype cycle of emerging technologies, blockchain has just passed the peak of their hype cycle curve. If you read the news articles about it, one would think it has taken over the technology world. No disruptive technology is without its challenges and potential impediments that frequently get lost in the hype. The panel will discuss their perspective on what they see as they key challenges and/or impediments to adoption, and how they see those issues could be resolved or mitigated.
Lori MacVittie is a subject matter expert on emerging technology responsible for outbound evangelism across F5's entire product suite. MacVittie has extensive development and technical architecture experience in both high-tech and enterprise organizations, in addition to network and systems administration expertise. Prior to joining F5, MacVittie was an award-winning technology editor at Network Computing Magazine where she evaluated and tested application-focused technologies including app security and encryption-related solutions. She holds a B.S. in Information and Computing Science from the University of Wisconsin at Green Bay, and an M.S. in Computer Science from Nova Southeastern University, and is an O'Reilly author.
Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence. Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more business becomes digital the more stakeholders are interested in this data including how it relates to business. Some of these people have never used a monitoring tool before. They have a question on their mind like "How is my application doing" but no idea how to get a proper answer.
Having been in the web hosting industry since 2002, dhosting has gained a great deal of experience while working on a wide range of projects. This experience has enabled the company to develop our amazing new product, which they are now excited to present! Among dHosting's greatest achievements, they can include the development of their own hosting panel, the building of their fully redundant server system, and the creation of dhHosting's unique product, Dynamic Edge.