SlideShare a Scribd company logo
1 of 48
Download to read offline
Presented By
WHAT IS APACHE HADOOP?
 Open source software framework designed for
storage and processing of large scale data on
clusters of commodity hardware
 Created by Doug Cutting and Mike Carafella in
2005.
 Cutting named the program after his son’s toy
elephant.
www.kellytechno.com
USES FOR HADOOP
 Data-intensive text processing
 Assembly of large genomes
 Graph mining
 Machine learning and data mining
 Large scale social network analysis
www.kellytechno.com
WHO USES HADOOP?
www.kellytechno.com
THE HADOOP ECOSYSTEM
•Contains Libraries and other
modules
Hadoop
Common
•Hadoop Distributed File SystemHDFS
•Yet Another Resource NegotiatorHadoop YARN
•A programming model for large
scale data processing
Hadoop
MapReduce
www.kellytechno.com
What considerations led to its design
MOTIVATIONS FOR HADOOP
www.kellytechno.com
MOTIVATIONS FOR HADOOP
 What were the limitations of earlier large-scale
computing?
 What requirements should an alternative
approach have?
 How does Hadoop address those
requirements?
www.kellytechno.com
EARLY LARGE SCALE COMPUTING
 Historically computation was processor-bound
 Data volume has been relatively small
 Complicated computations are performed on that
data
 Advances in computer technology has
historically centered around improving the
power of a single machine
www.kellytechno.com
CRAY-1
www.kellytechno.com
ADVANCES IN CPUS
 Moore’s Law
 The number of transistors on a dense integrated
circuit doubles every two years
 Single-core computing can’t scale with
current computing needs
www.kellytechno.com
SINGLE-CORE LIMITATION
 Power consumption limits the speed
increase we get from transistor density
www.kellytechno.com
DISTRIBUTED SYSTEMS
 Allows developers to
use multiple
machines for a
single task
www.kellytechno.com
DISTRIBUTED SYSTEM: PROBLEMS
 Programming on a distributed system is much
more complex
 Synchronizing data exchanges
 Managing a finite bandwidth
 Controlling computation timing is complicated
www.kellytechno.com
DISTRIBUTED SYSTEM: PROBLEMS
“You know you have a distributed system when
the crash of a computer you’ve never
heard of stops you from getting any work done.”
–Leslie Lamport
 Distributed systems must be designed with the
expectation of failure
www.kellytechno.com
DISTRIBUTED SYSTEM: DATA STORAGE
 Typically divided into Data Nodes and Compute
Nodes
 At compute time, data is copied to the Compute
Nodes
 Fine for relatively small amounts of data
 Modern systems deal with far more data than
was gathering in the past
www.kellytechno.com
HOW MUCH DATA?
 Facebook
 500 TB per day
 Yahoo
 Over 170 PB
 eBay
 Over 6 PB
 Getting the data to the processors becomes the
bottleneck
www.kellytechno.com
REQUIREMENTS FOR HADOOP
 Must support partial
failure
 Must be scalable
www.kellytechno.com
PARTIAL FAILURES
 Failure of a single component must not
cause the failure of the entire system only a
degradation of the application performance
 Failure should not
result in the loss of
any data
www.kellytechno.com
COMPONENT RECOVERY
 If a component fails, it should be able to
recover without restarting the entire system
 Component failure or recovery during a job
must not affect the final output
www.kellytechno.com
SCALABILITY
 Increasing resources should increase load
capacity
 Increasing the load on the system should result
in a graceful decline in performance for all jobs
 Not system failure
www.kellytechno.com
HADOOP
 Based on work done by Google in the early
2000s
 “The Google File System” in 2003
 “MapReduce: Simplified Data Processing on Large
Clusters” in 2004
 The core idea was to distribute the data as it is
initially stored
 Each node can then perform computation on the
data it stores without moving the data for the initial
processing
www.kellytechno.com
CORE HADOOP CONCEPTS
 Applications are written in a high-level
programming language
 No network programming or temporal dependency
 Nodes should communicate as little as
possible
 A “shared nothing” architecture
 Data is spread among the machines in advance
 Perform computation where the data is already
stored as often as possible
www.kellytechno.com
HIGH-LEVEL OVERVIEW
 When data is loaded onto the system it is divided
into blocks
 Typically 64MB or 128MB
 Tasks are divided into two phases
 Map tasks which are done on small portions of data
where the data is stored
 Reduce tasks which combine data to produce the final
output
 A master program allocates work to individual
nodes
www.kellytechno.com
FAULT TOLERANCE
 Failures are detected by the master program
which reassigns the work to a different node
 Restarting a task does not affect the nodes
working on other portions of the data
 If a failed node restarts, it is added back to the
system and assigned new tasks
 The master can redundantly execute the same
task to avoid slow running nodes
www.kellytechno.com
HDFS
HADOOP DISTRIBUTED FILE SYSTEM
www.kellytechno.com
OVERVIEW
 Responsible for storing data on the cluster
 Data files are split into blocks and distributed
across the nodes in the cluster
 Each block is replicated multiple times
www.kellytechno.com
HDFS BASIC CONCEPTS
 HDFS is a file system written in Java based on
the Google’s GFS
 Provides redundant storage for massive
amounts of data
www.kellytechno.com
HDFS BASIC CONCEPTS
 HDFS works best with a smaller number of
large files
 Millions as opposed to billions of files
 Typically 100MB or more per file
 Files in HDFS are write once
 Optimized for streaming reads of large files and
not random reads
www.kellytechno.com
HOW ARE FILES STORED
 Files are split into blocks
 Blocks are split across many machines at load
time
 Different blocks from the same file will be stored on
different machines
 Blocks are replicated across multiple machines
 The NameNode keeps track of which blocks
make up a file and where they are stored
www.kellytechno.com
DATA REPLICATION
 Default replication is 3-fold
www.kellytechno.com
DATA RETRIEVAL
 When a client wants to retrieve data
 Communicates with the NameNode to determine
which blocks make up a file and on which data
nodes those blocks are stored
 Then communicated directly with the data nodes to
read the data
www.kellytechno.com
Distributing computation across nodes
MAPREDUCE
www.kellytechno.com
MAPREDUCE OVERVIEW
 A method for distributing computation across
multiple nodes
 Each node processes the data that is stored at
that node
 Consists of two main phases
 Map
 Reduce
www.kellytechno.com
MAPREDUCE FEATURES
 Automatic parallelization and distribution
 Fault-Tolerance
 Provides a clean abstraction for programmers
to use
www.kellytechno.com
www.kellytechno.com
THE MAPPER
 Reads data as key/value pairs
 The key is often discarded
 Outputs zero or more key/value pairs
www.kellytechno.com
SHUFFLE AND SORT
 Output from the mapper is sorted by key
 All values with the same key are guaranteed to
go to the same machine
www.kellytechno.com
THE REDUCER
 Called once for each unique key
 Gets a list of all values associated with a key as
input
 The reducer outputs zero or more final
key/value pairs
 Usually just one output per input key
www.kellytechno.com
MAPREDUCE: WORD COUNT
www.kellytechno.com
What parts actually make up a Hadoop cluster
ANATOMY OF A CLUSTER
www.kellytechno.com
OVERVIEW
 NameNode
 Holds the metadata for the HDFS
 Secondary NameNode
 Performs housekeeping functions for the NameNode
 DataNode
 Stores the actual HDFS data blocks
 JobTracker
 Manages MapReduce jobs
 TaskTracker
 Monitors individual Map and Reduce tasks
www.kellytechno.com
THE NAMENODE
 Stores the HDFS file system information in a
fsimage
 Updates to the file system (add/remove blocks) do
not change the fsimage file
 They are instead written to a log file
 When starting the NameNode loads the fsimage
file and then applies the changes in the log file
www.kellytechno.com
THE SECONDARY NAMENODE
 NOT a backup for the NameNode
 Periodically reads the log file and applies the
changes to the fsimage file bringing it up to
date
 Allows the NameNode to restart faster when
required
www.kellytechno.com
JOBTRACKER AND TASKTRACKER
 JobTracker
 Determines the execution plan for the job
 Assigns individual tasks
 TaskTracker
 Keeps track of the performance of an individual
mapper or reducer
www.kellytechno.com
Other available tools
HADOOP ECOSYSTEM
www.kellytechno.com
WHY DO THESE TOOLS EXIST?
 MapReduce is very powerful, but can be
awkward to master
 These tools allow programmers who are
familiar with other programming styles to take
advantage of the power of MapReduce
www.kellytechno.com
OTHER TOOLS
 Hive
 Hadoop processing with SQL
 Pig
 Hadoop processing with scripting
 Cascading
 Pipe and Filter processing model
 HBase
 Database model built on top of Hadoop
 Flume
 Designed for large scale data movement
www.kellytechno.com
Thank You
Presented By

More Related Content

Viewers also liked

Practical Problem Solving with Apache Hadoop & Pig
Practical Problem Solving with Apache Hadoop & PigPractical Problem Solving with Apache Hadoop & Pig
Practical Problem Solving with Apache Hadoop & Pig
Milind Bhandarkar
 
Seminar Presentation Hadoop
Seminar Presentation HadoopSeminar Presentation Hadoop
Seminar Presentation Hadoop
Varun Narang
 

Viewers also liked (15)

Hadoop training by keylabs
Hadoop training by keylabsHadoop training by keylabs
Hadoop training by keylabs
 
Facebooks Petabyte Scale Data Warehouse using Hive and Hadoop
Facebooks Petabyte Scale Data Warehouse using Hive and HadoopFacebooks Petabyte Scale Data Warehouse using Hive and Hadoop
Facebooks Petabyte Scale Data Warehouse using Hive and Hadoop
 
Hadoop or Spark: is it an either-or proposition? By Slim Baltagi
Hadoop or Spark: is it an either-or proposition? By Slim BaltagiHadoop or Spark: is it an either-or proposition? By Slim Baltagi
Hadoop or Spark: is it an either-or proposition? By Slim Baltagi
 
Python in the Hadoop Ecosystem (Rock Health presentation)
Python in the Hadoop Ecosystem (Rock Health presentation)Python in the Hadoop Ecosystem (Rock Health presentation)
Python in the Hadoop Ecosystem (Rock Health presentation)
 
Apache Hadoop YARN - Enabling Next Generation Data Applications
Apache Hadoop YARN - Enabling Next Generation Data ApplicationsApache Hadoop YARN - Enabling Next Generation Data Applications
Apache Hadoop YARN - Enabling Next Generation Data Applications
 
Hadoop MapReduce Fundamentals
Hadoop MapReduce FundamentalsHadoop MapReduce Fundamentals
Hadoop MapReduce Fundamentals
 
Practical Problem Solving with Apache Hadoop & Pig
Practical Problem Solving with Apache Hadoop & PigPractical Problem Solving with Apache Hadoop & Pig
Practical Problem Solving with Apache Hadoop & Pig
 
Hadoop, Pig, and Twitter (NoSQL East 2009)
Hadoop, Pig, and Twitter (NoSQL East 2009)Hadoop, Pig, and Twitter (NoSQL East 2009)
Hadoop, Pig, and Twitter (NoSQL East 2009)
 
Intro To Hadoop
Intro To HadoopIntro To Hadoop
Intro To Hadoop
 
Hadoop Summit 2015: Performance Optimization at Scale, Lessons Learned at Twi...
Hadoop Summit 2015: Performance Optimization at Scale, Lessons Learned at Twi...Hadoop Summit 2015: Performance Optimization at Scale, Lessons Learned at Twi...
Hadoop Summit 2015: Performance Optimization at Scale, Lessons Learned at Twi...
 
Big Data & Hadoop Tutorial
Big Data & Hadoop TutorialBig Data & Hadoop Tutorial
Big Data & Hadoop Tutorial
 
Seminar Presentation Hadoop
Seminar Presentation HadoopSeminar Presentation Hadoop
Seminar Presentation Hadoop
 
Hadoop introduction , Why and What is Hadoop ?
Hadoop introduction , Why and What is  Hadoop ?Hadoop introduction , Why and What is  Hadoop ?
Hadoop introduction , Why and What is Hadoop ?
 
Hadoop Overview & Architecture
Hadoop Overview & Architecture  Hadoop Overview & Architecture
Hadoop Overview & Architecture
 
Big Data Analytics with Hadoop
Big Data Analytics with HadoopBig Data Analytics with Hadoop
Big Data Analytics with Hadoop
 

More from Kelly Technologies

Salesforce crm-training-in-bangalore
Salesforce crm-training-in-bangaloreSalesforce crm-training-in-bangalore
Salesforce crm-training-in-bangalore
Kelly Technologies
 

More from Kelly Technologies (20)

Hadoop trainting in hyderabad@kelly technologies
Hadoop trainting in hyderabad@kelly technologiesHadoop trainting in hyderabad@kelly technologies
Hadoop trainting in hyderabad@kelly technologies
 
Hadoop trainting-in-hyderabad@kelly technologies
Hadoop trainting-in-hyderabad@kelly technologiesHadoop trainting-in-hyderabad@kelly technologies
Hadoop trainting-in-hyderabad@kelly technologies
 
Hadoop training-in-hyderabad
Hadoop training-in-hyderabadHadoop training-in-hyderabad
Hadoop training-in-hyderabad
 
Data science training institute in hyderabad
Data science training institute in hyderabadData science training institute in hyderabad
Data science training institute in hyderabad
 
Data science institutes in hyderabad
Data science institutes in hyderabadData science institutes in hyderabad
Data science institutes in hyderabad
 
Data science training in hyderabad
Data science training in hyderabadData science training in hyderabad
Data science training in hyderabad
 
Hadoop training institute in hyderabad
Hadoop training institute in hyderabadHadoop training institute in hyderabad
Hadoop training institute in hyderabad
 
Hadoop institutes in hyderabad
Hadoop institutes in hyderabadHadoop institutes in hyderabad
Hadoop institutes in hyderabad
 
Hadoop training in hyderabad-kellytechnologies
Hadoop training in hyderabad-kellytechnologiesHadoop training in hyderabad-kellytechnologies
Hadoop training in hyderabad-kellytechnologies
 
Sas training in hyderabad
Sas training in hyderabadSas training in hyderabad
Sas training in hyderabad
 
Websphere mb training in hyderabad
Websphere mb training in hyderabadWebsphere mb training in hyderabad
Websphere mb training in hyderabad
 
Hadoop institutes-in-bangalore
Hadoop institutes-in-bangaloreHadoop institutes-in-bangalore
Hadoop institutes-in-bangalore
 
Oracle training-institutes-in-hyderabad
Oracle training-institutes-in-hyderabadOracle training-institutes-in-hyderabad
Oracle training-institutes-in-hyderabad
 
Hadoop training institutes in bangalore
Hadoop training institutes in bangaloreHadoop training institutes in bangalore
Hadoop training institutes in bangalore
 
Hadoop training institute in bangalore
Hadoop training institute in bangaloreHadoop training institute in bangalore
Hadoop training institute in bangalore
 
Tableau training in bangalore
Tableau training in bangaloreTableau training in bangalore
Tableau training in bangalore
 
Salesforce crm-training-in-bangalore
Salesforce crm-training-in-bangaloreSalesforce crm-training-in-bangalore
Salesforce crm-training-in-bangalore
 
Oracle training in hyderabad
Oracle training in hyderabadOracle training in hyderabad
Oracle training in hyderabad
 
Qlikview training in hyderabad
Qlikview training in hyderabadQlikview training in hyderabad
Qlikview training in hyderabad
 
Spark training-in-bangalore
Spark training-in-bangaloreSpark training-in-bangalore
Spark training-in-bangalore
 

Recently uploaded

The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
heathfieldcps1
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
PECB
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
negromaestrong
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 

Recently uploaded (20)

Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Role Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptxRole Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptx
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 

Hadoop training-in-hyderabad@KellyTechnologies

  • 2. WHAT IS APACHE HADOOP?  Open source software framework designed for storage and processing of large scale data on clusters of commodity hardware  Created by Doug Cutting and Mike Carafella in 2005.  Cutting named the program after his son’s toy elephant. www.kellytechno.com
  • 3. USES FOR HADOOP  Data-intensive text processing  Assembly of large genomes  Graph mining  Machine learning and data mining  Large scale social network analysis www.kellytechno.com
  • 5. THE HADOOP ECOSYSTEM •Contains Libraries and other modules Hadoop Common •Hadoop Distributed File SystemHDFS •Yet Another Resource NegotiatorHadoop YARN •A programming model for large scale data processing Hadoop MapReduce www.kellytechno.com
  • 6. What considerations led to its design MOTIVATIONS FOR HADOOP www.kellytechno.com
  • 7. MOTIVATIONS FOR HADOOP  What were the limitations of earlier large-scale computing?  What requirements should an alternative approach have?  How does Hadoop address those requirements? www.kellytechno.com
  • 8. EARLY LARGE SCALE COMPUTING  Historically computation was processor-bound  Data volume has been relatively small  Complicated computations are performed on that data  Advances in computer technology has historically centered around improving the power of a single machine www.kellytechno.com
  • 10. ADVANCES IN CPUS  Moore’s Law  The number of transistors on a dense integrated circuit doubles every two years  Single-core computing can’t scale with current computing needs www.kellytechno.com
  • 11. SINGLE-CORE LIMITATION  Power consumption limits the speed increase we get from transistor density www.kellytechno.com
  • 12. DISTRIBUTED SYSTEMS  Allows developers to use multiple machines for a single task www.kellytechno.com
  • 13. DISTRIBUTED SYSTEM: PROBLEMS  Programming on a distributed system is much more complex  Synchronizing data exchanges  Managing a finite bandwidth  Controlling computation timing is complicated www.kellytechno.com
  • 14. DISTRIBUTED SYSTEM: PROBLEMS “You know you have a distributed system when the crash of a computer you’ve never heard of stops you from getting any work done.” –Leslie Lamport  Distributed systems must be designed with the expectation of failure www.kellytechno.com
  • 15. DISTRIBUTED SYSTEM: DATA STORAGE  Typically divided into Data Nodes and Compute Nodes  At compute time, data is copied to the Compute Nodes  Fine for relatively small amounts of data  Modern systems deal with far more data than was gathering in the past www.kellytechno.com
  • 16. HOW MUCH DATA?  Facebook  500 TB per day  Yahoo  Over 170 PB  eBay  Over 6 PB  Getting the data to the processors becomes the bottleneck www.kellytechno.com
  • 17. REQUIREMENTS FOR HADOOP  Must support partial failure  Must be scalable www.kellytechno.com
  • 18. PARTIAL FAILURES  Failure of a single component must not cause the failure of the entire system only a degradation of the application performance  Failure should not result in the loss of any data www.kellytechno.com
  • 19. COMPONENT RECOVERY  If a component fails, it should be able to recover without restarting the entire system  Component failure or recovery during a job must not affect the final output www.kellytechno.com
  • 20. SCALABILITY  Increasing resources should increase load capacity  Increasing the load on the system should result in a graceful decline in performance for all jobs  Not system failure www.kellytechno.com
  • 21. HADOOP  Based on work done by Google in the early 2000s  “The Google File System” in 2003  “MapReduce: Simplified Data Processing on Large Clusters” in 2004  The core idea was to distribute the data as it is initially stored  Each node can then perform computation on the data it stores without moving the data for the initial processing www.kellytechno.com
  • 22. CORE HADOOP CONCEPTS  Applications are written in a high-level programming language  No network programming or temporal dependency  Nodes should communicate as little as possible  A “shared nothing” architecture  Data is spread among the machines in advance  Perform computation where the data is already stored as often as possible www.kellytechno.com
  • 23. HIGH-LEVEL OVERVIEW  When data is loaded onto the system it is divided into blocks  Typically 64MB or 128MB  Tasks are divided into two phases  Map tasks which are done on small portions of data where the data is stored  Reduce tasks which combine data to produce the final output  A master program allocates work to individual nodes www.kellytechno.com
  • 24. FAULT TOLERANCE  Failures are detected by the master program which reassigns the work to a different node  Restarting a task does not affect the nodes working on other portions of the data  If a failed node restarts, it is added back to the system and assigned new tasks  The master can redundantly execute the same task to avoid slow running nodes www.kellytechno.com
  • 25. HDFS HADOOP DISTRIBUTED FILE SYSTEM www.kellytechno.com
  • 26. OVERVIEW  Responsible for storing data on the cluster  Data files are split into blocks and distributed across the nodes in the cluster  Each block is replicated multiple times www.kellytechno.com
  • 27. HDFS BASIC CONCEPTS  HDFS is a file system written in Java based on the Google’s GFS  Provides redundant storage for massive amounts of data www.kellytechno.com
  • 28. HDFS BASIC CONCEPTS  HDFS works best with a smaller number of large files  Millions as opposed to billions of files  Typically 100MB or more per file  Files in HDFS are write once  Optimized for streaming reads of large files and not random reads www.kellytechno.com
  • 29. HOW ARE FILES STORED  Files are split into blocks  Blocks are split across many machines at load time  Different blocks from the same file will be stored on different machines  Blocks are replicated across multiple machines  The NameNode keeps track of which blocks make up a file and where they are stored www.kellytechno.com
  • 30. DATA REPLICATION  Default replication is 3-fold www.kellytechno.com
  • 31. DATA RETRIEVAL  When a client wants to retrieve data  Communicates with the NameNode to determine which blocks make up a file and on which data nodes those blocks are stored  Then communicated directly with the data nodes to read the data www.kellytechno.com
  • 32. Distributing computation across nodes MAPREDUCE www.kellytechno.com
  • 33. MAPREDUCE OVERVIEW  A method for distributing computation across multiple nodes  Each node processes the data that is stored at that node  Consists of two main phases  Map  Reduce www.kellytechno.com
  • 34. MAPREDUCE FEATURES  Automatic parallelization and distribution  Fault-Tolerance  Provides a clean abstraction for programmers to use www.kellytechno.com
  • 36. THE MAPPER  Reads data as key/value pairs  The key is often discarded  Outputs zero or more key/value pairs www.kellytechno.com
  • 37. SHUFFLE AND SORT  Output from the mapper is sorted by key  All values with the same key are guaranteed to go to the same machine www.kellytechno.com
  • 38. THE REDUCER  Called once for each unique key  Gets a list of all values associated with a key as input  The reducer outputs zero or more final key/value pairs  Usually just one output per input key www.kellytechno.com
  • 40. What parts actually make up a Hadoop cluster ANATOMY OF A CLUSTER www.kellytechno.com
  • 41. OVERVIEW  NameNode  Holds the metadata for the HDFS  Secondary NameNode  Performs housekeeping functions for the NameNode  DataNode  Stores the actual HDFS data blocks  JobTracker  Manages MapReduce jobs  TaskTracker  Monitors individual Map and Reduce tasks www.kellytechno.com
  • 42. THE NAMENODE  Stores the HDFS file system information in a fsimage  Updates to the file system (add/remove blocks) do not change the fsimage file  They are instead written to a log file  When starting the NameNode loads the fsimage file and then applies the changes in the log file www.kellytechno.com
  • 43. THE SECONDARY NAMENODE  NOT a backup for the NameNode  Periodically reads the log file and applies the changes to the fsimage file bringing it up to date  Allows the NameNode to restart faster when required www.kellytechno.com
  • 44. JOBTRACKER AND TASKTRACKER  JobTracker  Determines the execution plan for the job  Assigns individual tasks  TaskTracker  Keeps track of the performance of an individual mapper or reducer www.kellytechno.com
  • 45. Other available tools HADOOP ECOSYSTEM www.kellytechno.com
  • 46. WHY DO THESE TOOLS EXIST?  MapReduce is very powerful, but can be awkward to master  These tools allow programmers who are familiar with other programming styles to take advantage of the power of MapReduce www.kellytechno.com
  • 47. OTHER TOOLS  Hive  Hadoop processing with SQL  Pig  Hadoop processing with scripting  Cascading  Pipe and Filter processing model  HBase  Database model built on top of Hadoop  Flume  Designed for large scale data movement www.kellytechno.com