Updated on Feb 22, 2015: All examples have been updated from 2.2.0 to the latest stable version of 2.6.0 with some very minimal changes. The other major update is that detailed instructions are given for using the free version of VMware Player virtualization software to build your 4-node Linux Yarn cluster on a Windows laptop. A similar procedure is also given on how to build a 4-node Linux Yarn cluster using VMware Fusion virtualization software on a Mac OS X machine.
This textbook adopts a unique approach to helping developers and CS students learn Hadoop MapReduce programming fast in an easy-to-setup, virtual 4-node Linux YARN cluster on a Windows or Mac OS X laptop. Rather than filled with disjointed, piecemeal code snippets to show Hadoop MapReduce programming features one at a time, it is designed to place your total Hadoop MapReduce programming learning process in a common application context of mining customer spending patterns ensconced in large volumes of credit card transaction record data. Precise, end-to-end procedures are given to help you set up your Hadoop MapReduce development environment quickly on Eclipse with Maven on Windows. Step-by-step procedures are also given on how to set up a four-node Linux cluster at minimum so that you can run your MapReduce programs not only in local but also in standalone and fully distributed mode on a real cluster. In fact, all MapReduce programs presented in the book have been tested and verified on such a Linux cluster. This textbook mainly focuses on teaching Hadoop MapReduce programming in a scientific, objective, quantitative approach. Rather than heavily relying on subjective, verbose (and sometimes even pompous) textual descriptions with sparse code snippets, this textbook uses Hadoop Java APIs, Hadoop configuration parameters, complete MapReduce programs and their execution logs and outputs to demonstrate how Hadoop MapReduce framework works and how to write MapReduce programs. Specifically, this text covers the following subjects:
- Introduction to Hadoop
- Setting up a Linux Hadoop Cluster
- The Hadoop Distributed FileSystem
- MapReduce Job Orchestration and Workflows
- Basic MapReduce Programming
- Advanced MapReduce Programming
- Hadoop Streaming
- Hadoop Administration
No matter what role you play on your team, this text can help you gain truly applicable Hadoop skills in a most effective and efficient manner. The book can also be used as a supplementary textbook for a distributed computing or Hadoop course offered to upper-division CS students.