SlideShare a Scribd company logo
Hadoop Inside


         TC 데이터플랫폼실 GFIS팀
                    이은조
What is Hadoop
 Hadoop is a Framework & System for
    parallel processing of
    large amounts of data in
    a distributed computing environment
           http://searchbusinessintelligence.techtarget.in/tutorial/Apache-Hadoop-FAQ-for-BI-professionals




 Apache project
    open source
    java based
    google system clone
        GFS -> HDFS
        MapReduce -> MapReduce
Distributed Processing System
 How to process data in distributed environment
    how to read/write data
    how to control nodes
    load balancing
 Monitoring
    node status
    task status
 Fault tolerance
    error detection
        process error, network error, hardware error, …
    error handling
        temporary error: retry -> duplication, data corruption, …
        permanent error: fail over(which one?)
        process hang: timeout & retry
            • too long -> long response time
            • too short -> infinite loop
Hadoop System Architecture

HDFS + MapReduce

                                                                                Secondary
                        Job                              Name
                                                                                  Name
                      Tracker                            Node
                                                                                  Node




   Task      Data                Task        Data                Task         Data
  Tracker    Node               Tracker      Node               Tracker       Node




   : Node           : Process             : Heart Beat            : Data Read/Write
HDFS
 vs. Filesystem
    inode – namespace
    cylinder / track – data node
    blocks(bytes) – blocks(Mbytes)
 Features
    very large files
    write once, read many times
    support for usual file system operations
         ls, cp, mv, rm, chmod, chown, put, cat, …
    no support for multiple writers or arbitrary modifications
Block Replication & Rack Awareness


        1       2
                                    1   2             1        3
        3       4
                                    1   3             2        4


                                    3   4             4        2
1           1           2
                                2
    1
                        2

3                   4
            3               4               : File        : Server
    3                   4
                                            : Block       : Rack
HDFS - Read

Data Read

                              1. Read Request
                                                       Name
               Client
                                                       Node
                              2. Response


  3. Reqeust            4. Read
     Data                  Data




        Data Node                               Data Node               Data Node




     : Node                  : Data Block            : Data I/O   : Operation Message
HDFS - Write

Data Write

                              1. Write Request
                                                        Name
               Client
                                                        Node
                              2. Response


    3. Write            5. Write
       Data                Done




        Data Node            4. Write            Data Node         4. Write           Data Node
                                Replica                               Replica




     : Node                   : Data Block            : Data I/O                : Operation Message
HDFS – Write (Failure)

Data Write

                              1. Write Request
                                                        Name
               Client
                                                        Node
                              2. Response


    3. Write            5. Write
       Data                Done




        Data Node                                Data Node               Data Node




                             4. Write
                                Replica




     : Node                   : Data Block            : Data I/O   : Operation Message
HDFS – Write (Failure)

Data Write


                                             Name                         Data Node
              Client
                                             Node

                                                            Replica
                                                            Arrangement


                                            Delete                              Write
                                            Partial block                       Replica


        Data Node                     Data Node                           Data Node




     : Node            : Data Block        : Data I/O              : Operation Message
MapReduce
 Definition
    map: (+1) [ 1, 2, 3, 4, …, 10 ] -> [ 2, 3, 4, 5, …, 11 ]
    reduce: (+) [ 2, 3, 4, 5, …, 11 ] -> 65
 Programming Model for processing data sets in Hadoop
    projection, filter -> map task
    aggregation, join -> reduce task
    sort -> partitioning
 Job Tracker & Task Trackers
    master / slave
    job = many tasks
        # of map tasks = # of file splits (default: # of blocks)
        # of reduce tasks = user configuration
MapReduce
Map / Reduce Task




   : Distributed File System   : Map Task              : Map Output Record (Key/Value pair)

   : Split                     : Reduce Task           : Reduce Output Record (Key/Value pair)

   : Input Data Record         : Shuffling & Sorting   : Partition
MapReduce
Map / Reduce Task




   : Distributed File System   : Map Task              : Map Output Record (Key/Value pair)

   : Split                     : Reduce Task           : Reduce Output Record (Key/Value pair)

   : Input Data Record         : Shuffling & Sorting   : Partition
MapReduce
Map / Reduce Task




   : Distributed File System   : Map Task              : Map Output Record (Key/Value pair)

   : Split                     : Reduce Task           : Reduce Output Record (Key/Value pair)

   : Input Data Record         : Shuffling & Sorting   : Partition
MapReduce
Map / Reduce Task




   : Distributed File System   : Map Task              : Map Output Record (Key/Value pair)

   : Split                     : Reduce Task           : Reduce Output Record (Key/Value pair)

   : Input Data Record         : Shuffling & Sorting   : Partition
MapReduce
Map / Reduce Task




   : Distributed File System   : Map Task              : Map Output Record (Key/Value pair)

   : Split                     : Reduce Task           : Reduce Output Record (Key/Value pair)

   : Input Data Record         : Shuffling & Sorting   : Partition
MapReduce
Map / Reduce Task




   : Distributed File System   : Map Task              : Map Output Record (Key/Value pair)

   : Split                     : Reduce Task           : Reduce Output Record (Key/Value pair)

   : Input Data Record         : Shuffling & Sorting   : Partition
MapReduce
Map / Reduce Task




   : Distributed File System   : Map Task              : Map Output Record (Key/Value pair)

   : Split                     : Reduce Task           : Reduce Output Record (Key/Value pair)

   : Input Data Record         : Shuffling & Sorting   : Partition
Mapper - partitioning
    double indexed structure

  Output Buffer    key         value     key        value      …           key       value
(default: 100Mb)


      1st Index    partition   key      value     partition   key      value     …
                               offset   offset                offset   offset



      2nd Index    key         key       key        ….
                   offset      offset    offset


    Spill Thread
       data sorting: 2nd index (quick sort)
       spill file generating
            spill data file & index file
       flush
            merge sort (by key) per partition
Reducer –fetching
 GetMapEventsThread
    map event listener
 MapOutputCopier
    data fetching from completed mapper (HTTP)
    concurrent running in some threads
 Merger
    key sorting (heap sort)

                     completion        Job     completion events
                     events          Tracker


       TaskTracker
                                                             TaskTracker (reduce task)
        (map task)

                                  HTTP - GET               Copier
       TaskTracker
        (map task)                                                                Reducer
                                                           Copier

       TaskTracker
        (map task)
Job Flow
                                                    JobTracker Node

                                                                      5. add job
                                                           Job
                                    3. submit job        Tracker




Client Node                                                                          6. heartbeat
                                                              4. retrieve
                                                                 input spilts
  MapReduce 1. runJob       Job                                                                           Task
   Program                 Client                                                                        Tracker         7. assign task

                                                           Shared
                                                        File System             8. retrieve                  9. launch
                                    2. copy job
                                       resources                                   job resources


                                                                                                          Child


                                                                             11. read data/                  10. run
                                                                                 write result
   : Node          : Job Queue                 : Job
                                                                                                          Map/
                                                                                                         Reduce
   : JVM           : Method Call               : Task                                                     Task


   : Class         : I/O                                                                            TaskTracker Node
Monitoring
 Heart beat
    task tracker status checking
    task request / alignment
    other commands (restart, shudown, kill task, …)
 Cluster Status
 Job / Task Status
    JobInProgress
    TaskInProgress
 Reporter & Metrics
 Black list
Monitoring (Summary)
 Heart beat
    task tracker status checking
    task request / alignment
    other commands (restart, shudown, kill task, …)
 Cluster Status
 Job / Task Status
    JobInProgress
    TaskInProgress
 Reporter & Metrics
 Black list
Monitoring (Cluster Info)
Monitoring (Job Info)
Monitoring (Task Info)
Task Scheduler
 job queue
    red-black tree ( java.util.TreeMap)
    sort by priority & job id (request time)
 load factor
    remain tasks / capacity
 task alignment
    high priority
    new task > speculative execution task > dummy splits task
    map task (local) > map task (non-local) > reduce task
 padding
    padding = MIN(total tasks * pad faction, task capacity)
    for speculative execution
Error Handling
 Retry
    configurable (default 4 times)
 Timeout
    configurable
 Speculative Execution
    current – start >= 1 minute
    average progress – progress > 20%
Distributed Processing System
 How to process data in distributed environment
    how to read/write data
    how to control nodes
    load balancing
 Monitoring
    node status
    task status
 Fault tolerance
    error detection
        process error, network error, hardware error, …
    error handling
        temporary error: retry -> duplication, data corruption, …
        permanent error: fail over(which one?)
        process hang: timeout & retry
            • too long -> long response time
            • too short -> infinite loop
Distributed Processing System
 How to process data in distributed environment
    how to read/write data
    how to control nodes                       HDFS Client
    load balancing                            master / slave
 Monitoring                           replication / rack awareness
    node status                               job scheduler
    task status
 Fault tolerance
    error detection
        process error, network error, hardware error, …
    error handling
        temporary error: retry -> duplication, data corruption, …
        permanent error: fail over(which one?)
        process hang: timeout & retry
            • too long -> long response time
            • too short -> infinite loop
Distributed Processing System
 How to process data in distributed environment
    how to read/write data
    how to control nodes
    load balancing
 Monitoring
    node status
                                              heart beat
    task status
                                            job/task status
 Fault tolerance                         reporter / metrics
    error detection
        process error, network error, hardware error, …
    error handling
        temporary error: retry -> duplication, data corruption, …
        permanent error: fail over(which one?)
        process hang: timeout & retry
            • too long -> long response time
            • too short -> infinite loop
Distributed Processing System
 How to process data in distributed environment
    how to read/write data
    how to control nodes
    load balancing
 Monitoring
    node status
                                               black list
    task status                           time out & retry
 Fault tolerance                        speculative execution
    error detection
        process error, network error, hardware error, …
    error handling
        temporary error: retry -> duplication, data corruption, …
        permanent error: fail over(which one?)
        process hang: timeout & retry
            • too long -> long response time
            • too short -> infinite loop
Limitations
 map -> reduce network overhead
    iterative processing
    full(or theta) join
 small size but many splits data
 Low latency
    polling & pulling
    job initializing
    optimized for throughput
        job scheduling
        data access
Q&A

More Related Content

PDF
Running R on Hadoop - CHUG - 20120815
PDF
Webinar: General Technical Overview of MongoDB
PDF
Design and Research of Hadoop Distributed Cluster Based on Raspberry
PPTX
Hadoop Architecture | HDFS Architecture | Hadoop Architecture Tutorial | HDFS...
PPTX
Understanding Hadoop
PPTX
Hadoop Summit 2012 | HBase Consistency and Performance Improvements
PPT
Hadoop Architecture
PPTX
Introduction to HDFS and MapReduce
Running R on Hadoop - CHUG - 20120815
Webinar: General Technical Overview of MongoDB
Design and Research of Hadoop Distributed Cluster Based on Raspberry
Hadoop Architecture | HDFS Architecture | Hadoop Architecture Tutorial | HDFS...
Understanding Hadoop
Hadoop Summit 2012 | HBase Consistency and Performance Improvements
Hadoop Architecture
Introduction to HDFS and MapReduce

What's hot (19)

PPTX
Facebook's Approach to Big Data Storage Challenge
PDF
Upgrading HDFS to 3.3.0 and deploying RBF in production #LINE_DM
PPTX
Compression Options in Hadoop - A Tale of Tradeoffs
PDF
Storage Infrastructure Behind Facebook Messages
PDF
Integrating R & Hadoop - Text Mining & Sentiment Analysis
PPTX
Bd class 2 complete
PPTX
Hadoop World 2011: HDFS Federation - Suresh Srinivas, Hortonworks
PDF
Reading and writing spatial data for the non-spatial programmer
PPTX
Hadoop Essential for Oracle Professionals
PPTX
Schedulers optimization to handle multiple jobs in hadoop cluster
PDF
Most Popular Hadoop Interview Questions and Answers
PDF
Nov 2011 HUG: HParser
PPTX
Hadoop Training | Hadoop Training For Beginners | Hadoop Architecture | Hadoo...
PPT
Building a Linux IPv6 DNS Server Project review PPT v3.0 First review
PDF
Facebook's HBase Backups - StampedeCon 2012
PPTX
Experiences on Processing Spatial Data with MapReduce ssdbm09
PPTX
Hopsfs 10x HDFS performance
PDF
Hadoop introduction
Facebook's Approach to Big Data Storage Challenge
Upgrading HDFS to 3.3.0 and deploying RBF in production #LINE_DM
Compression Options in Hadoop - A Tale of Tradeoffs
Storage Infrastructure Behind Facebook Messages
Integrating R & Hadoop - Text Mining & Sentiment Analysis
Bd class 2 complete
Hadoop World 2011: HDFS Federation - Suresh Srinivas, Hortonworks
Reading and writing spatial data for the non-spatial programmer
Hadoop Essential for Oracle Professionals
Schedulers optimization to handle multiple jobs in hadoop cluster
Most Popular Hadoop Interview Questions and Answers
Nov 2011 HUG: HParser
Hadoop Training | Hadoop Training For Beginners | Hadoop Architecture | Hadoo...
Building a Linux IPv6 DNS Server Project review PPT v3.0 First review
Facebook's HBase Backups - StampedeCon 2012
Experiences on Processing Spatial Data with MapReduce ssdbm09
Hopsfs 10x HDFS performance
Hadoop introduction
Ad

Similar to Hadoop Inside (20)

PDF
RuG Guest Lecture
PPTX
Understanding hdfs
ODP
Hadoop HDFS by rohitkapa
PDF
Hadoop, HDFS and MapReduce
PPTX
Hadoop hbase mapreduce
PPTX
PPTX
MapReduce Paradigm
PPTX
MapReduce Paradigm
PDF
データ解析技術入門(Hadoop編)
PPTX
Availability and Integrity in hadoop (Strata EU Edition)
PDF
Federated HDFS
PPT
PDF
Hdfs Dhruba
PDF
HDFS Architecture
PDF
Processing massive amount of data with Map Reduce using Apache Hadoop - Indi...
PDF
Bigdata Technologies that includes various components .pdf
PPTX
Introduction to hadoop and hdfs
PDF
Intro to the Hadoop Stack @ April 2011 JavaMUG
PPTX
HA Hadoop -ApacheCon talk
PPTX
Hadoop Distributed File System(HDFS) : Behind the scenes
RuG Guest Lecture
Understanding hdfs
Hadoop HDFS by rohitkapa
Hadoop, HDFS and MapReduce
Hadoop hbase mapreduce
MapReduce Paradigm
MapReduce Paradigm
データ解析技術入門(Hadoop編)
Availability and Integrity in hadoop (Strata EU Edition)
Federated HDFS
Hdfs Dhruba
HDFS Architecture
Processing massive amount of data with Map Reduce using Apache Hadoop - Indi...
Bigdata Technologies that includes various components .pdf
Introduction to hadoop and hdfs
Intro to the Hadoop Stack @ April 2011 JavaMUG
HA Hadoop -ApacheCon talk
Hadoop Distributed File System(HDFS) : Behind the scenes
Ad

More from Eun-Jo Lee (7)

PPTX
No Silk Road for Online Gamers
PDF
회귀모델의 종류와 특징
PDF
데이터분석을통한게임유저모델링
PDF
Ndss 2016 game_bot_final_no_video
PDF
Data analysis for game fraud detection
PDF
탐사분석을통한작업장탐지
PDF
R을 이용한 게임 데이터 분석
No Silk Road for Online Gamers
회귀모델의 종류와 특징
데이터분석을통한게임유저모델링
Ndss 2016 game_bot_final_no_video
Data analysis for game fraud detection
탐사분석을통한작업장탐지
R을 이용한 게임 데이터 분석

Recently uploaded (20)

PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
NewMind AI Weekly Chronicles - August'25 Week I
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Approach and Philosophy of On baking technology
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Big Data Technologies - Introduction.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
NewMind AI Weekly Chronicles - August'25 Week I
The AUB Centre for AI in Media Proposal.docx
MYSQL Presentation for SQL database connectivity
Chapter 3 Spatial Domain Image Processing.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Spectral efficient network and resource selection model in 5G networks
Approach and Philosophy of On baking technology
NewMind AI Monthly Chronicles - July 2025
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Unlocking AI with Model Context Protocol (MCP)
Big Data Technologies - Introduction.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Agricultural_Statistics_at_a_Glance_2022_0.pdf

Hadoop Inside

  • 1. Hadoop Inside TC 데이터플랫폼실 GFIS팀 이은조
  • 2. What is Hadoop  Hadoop is a Framework & System for  parallel processing of  large amounts of data in  a distributed computing environment http://searchbusinessintelligence.techtarget.in/tutorial/Apache-Hadoop-FAQ-for-BI-professionals  Apache project  open source  java based  google system clone  GFS -> HDFS  MapReduce -> MapReduce
  • 3. Distributed Processing System  How to process data in distributed environment  how to read/write data  how to control nodes  load balancing  Monitoring  node status  task status  Fault tolerance  error detection  process error, network error, hardware error, …  error handling  temporary error: retry -> duplication, data corruption, …  permanent error: fail over(which one?)  process hang: timeout & retry • too long -> long response time • too short -> infinite loop
  • 4. Hadoop System Architecture HDFS + MapReduce Secondary Job Name Name Tracker Node Node Task Data Task Data Task Data Tracker Node Tracker Node Tracker Node : Node : Process : Heart Beat : Data Read/Write
  • 5. HDFS  vs. Filesystem  inode – namespace  cylinder / track – data node  blocks(bytes) – blocks(Mbytes)  Features  very large files  write once, read many times  support for usual file system operations  ls, cp, mv, rm, chmod, chown, put, cat, …  no support for multiple writers or arbitrary modifications
  • 6. Block Replication & Rack Awareness 1 2 1 2 1 3 3 4 1 3 2 4 3 4 4 2 1 1 2 2 1 2 3 4 3 4 : File : Server 3 4 : Block : Rack
  • 7. HDFS - Read Data Read 1. Read Request Name Client Node 2. Response 3. Reqeust 4. Read Data Data Data Node Data Node Data Node : Node : Data Block : Data I/O : Operation Message
  • 8. HDFS - Write Data Write 1. Write Request Name Client Node 2. Response 3. Write 5. Write Data Done Data Node 4. Write Data Node 4. Write Data Node Replica Replica : Node : Data Block : Data I/O : Operation Message
  • 9. HDFS – Write (Failure) Data Write 1. Write Request Name Client Node 2. Response 3. Write 5. Write Data Done Data Node Data Node Data Node 4. Write Replica : Node : Data Block : Data I/O : Operation Message
  • 10. HDFS – Write (Failure) Data Write Name Data Node Client Node Replica Arrangement Delete Write Partial block Replica Data Node Data Node Data Node : Node : Data Block : Data I/O : Operation Message
  • 11. MapReduce  Definition  map: (+1) [ 1, 2, 3, 4, …, 10 ] -> [ 2, 3, 4, 5, …, 11 ]  reduce: (+) [ 2, 3, 4, 5, …, 11 ] -> 65  Programming Model for processing data sets in Hadoop  projection, filter -> map task  aggregation, join -> reduce task  sort -> partitioning  Job Tracker & Task Trackers  master / slave  job = many tasks  # of map tasks = # of file splits (default: # of blocks)  # of reduce tasks = user configuration
  • 12. MapReduce Map / Reduce Task : Distributed File System : Map Task : Map Output Record (Key/Value pair) : Split : Reduce Task : Reduce Output Record (Key/Value pair) : Input Data Record : Shuffling & Sorting : Partition
  • 13. MapReduce Map / Reduce Task : Distributed File System : Map Task : Map Output Record (Key/Value pair) : Split : Reduce Task : Reduce Output Record (Key/Value pair) : Input Data Record : Shuffling & Sorting : Partition
  • 14. MapReduce Map / Reduce Task : Distributed File System : Map Task : Map Output Record (Key/Value pair) : Split : Reduce Task : Reduce Output Record (Key/Value pair) : Input Data Record : Shuffling & Sorting : Partition
  • 15. MapReduce Map / Reduce Task : Distributed File System : Map Task : Map Output Record (Key/Value pair) : Split : Reduce Task : Reduce Output Record (Key/Value pair) : Input Data Record : Shuffling & Sorting : Partition
  • 16. MapReduce Map / Reduce Task : Distributed File System : Map Task : Map Output Record (Key/Value pair) : Split : Reduce Task : Reduce Output Record (Key/Value pair) : Input Data Record : Shuffling & Sorting : Partition
  • 17. MapReduce Map / Reduce Task : Distributed File System : Map Task : Map Output Record (Key/Value pair) : Split : Reduce Task : Reduce Output Record (Key/Value pair) : Input Data Record : Shuffling & Sorting : Partition
  • 18. MapReduce Map / Reduce Task : Distributed File System : Map Task : Map Output Record (Key/Value pair) : Split : Reduce Task : Reduce Output Record (Key/Value pair) : Input Data Record : Shuffling & Sorting : Partition
  • 19. Mapper - partitioning  double indexed structure Output Buffer key value key value … key value (default: 100Mb) 1st Index partition key value partition key value … offset offset offset offset 2nd Index key key key …. offset offset offset  Spill Thread  data sorting: 2nd index (quick sort)  spill file generating  spill data file & index file  flush  merge sort (by key) per partition
  • 20. Reducer –fetching  GetMapEventsThread  map event listener  MapOutputCopier  data fetching from completed mapper (HTTP)  concurrent running in some threads  Merger  key sorting (heap sort) completion Job completion events events Tracker TaskTracker TaskTracker (reduce task) (map task) HTTP - GET Copier TaskTracker (map task) Reducer Copier TaskTracker (map task)
  • 21. Job Flow JobTracker Node 5. add job Job 3. submit job Tracker Client Node 6. heartbeat 4. retrieve input spilts MapReduce 1. runJob Job Task Program Client Tracker 7. assign task Shared File System 8. retrieve 9. launch 2. copy job resources job resources Child 11. read data/ 10. run write result : Node : Job Queue : Job Map/ Reduce : JVM : Method Call : Task Task : Class : I/O TaskTracker Node
  • 22. Monitoring  Heart beat  task tracker status checking  task request / alignment  other commands (restart, shudown, kill task, …)  Cluster Status  Job / Task Status  JobInProgress  TaskInProgress  Reporter & Metrics  Black list
  • 23. Monitoring (Summary)  Heart beat  task tracker status checking  task request / alignment  other commands (restart, shudown, kill task, …)  Cluster Status  Job / Task Status  JobInProgress  TaskInProgress  Reporter & Metrics  Black list
  • 27. Task Scheduler  job queue  red-black tree ( java.util.TreeMap)  sort by priority & job id (request time)  load factor  remain tasks / capacity  task alignment  high priority  new task > speculative execution task > dummy splits task  map task (local) > map task (non-local) > reduce task  padding  padding = MIN(total tasks * pad faction, task capacity)  for speculative execution
  • 28. Error Handling  Retry  configurable (default 4 times)  Timeout  configurable  Speculative Execution  current – start >= 1 minute  average progress – progress > 20%
  • 29. Distributed Processing System  How to process data in distributed environment  how to read/write data  how to control nodes  load balancing  Monitoring  node status  task status  Fault tolerance  error detection  process error, network error, hardware error, …  error handling  temporary error: retry -> duplication, data corruption, …  permanent error: fail over(which one?)  process hang: timeout & retry • too long -> long response time • too short -> infinite loop
  • 30. Distributed Processing System  How to process data in distributed environment  how to read/write data  how to control nodes HDFS Client  load balancing master / slave  Monitoring replication / rack awareness  node status job scheduler  task status  Fault tolerance  error detection  process error, network error, hardware error, …  error handling  temporary error: retry -> duplication, data corruption, …  permanent error: fail over(which one?)  process hang: timeout & retry • too long -> long response time • too short -> infinite loop
  • 31. Distributed Processing System  How to process data in distributed environment  how to read/write data  how to control nodes  load balancing  Monitoring  node status heart beat  task status job/task status  Fault tolerance reporter / metrics  error detection  process error, network error, hardware error, …  error handling  temporary error: retry -> duplication, data corruption, …  permanent error: fail over(which one?)  process hang: timeout & retry • too long -> long response time • too short -> infinite loop
  • 32. Distributed Processing System  How to process data in distributed environment  how to read/write data  how to control nodes  load balancing  Monitoring  node status black list  task status time out & retry  Fault tolerance speculative execution  error detection  process error, network error, hardware error, …  error handling  temporary error: retry -> duplication, data corruption, …  permanent error: fail over(which one?)  process hang: timeout & retry • too long -> long response time • too short -> infinite loop
  • 33. Limitations  map -> reduce network overhead  iterative processing  full(or theta) join  small size but many splits data  Low latency  polling & pulling  job initializing  optimized for throughput  job scheduling  data access
  • 34. Q&A