SlideShare a Scribd company logo
Deploying Grid Services
                         Using Hadoop

                           Allen Wittenauer
                             April 11, 2008


Yahoo! @ ApacheCon                             1
Agenda

      •    Grid Computing At Yahoo!
      •    Quick Overview of Hadoop
             – “Hadoop for Systems Administrators”
      •    Scaling Hadoop Deployments
      •    Yahoo!’s Next Generation Grid Infrastructure
      •    Questions (and maybe even Answers!)




Yahoo! @ ApacheCon                                        2
Grid Computing at Yahoo!


      • Drivers
          – 500M unique users per month
          – Billions of interesting events per day
          – “Data analysis is the inner-loop at Yahoo!”
      • Yahoo! Grid Vision and Focus
          – On-demand, shared access to vast pool of resources
          – Support for massively parallel execution (1000s of processors)
          – Data Intensive Super Computing (DISC)
          – Centrally provisioned and managed
          – Service-oriented, elastic
      • What We’re Not
          – Not “Grid” in the sense of scientific community (Globus, etc)
          – Not focused on public or 3rd-party utility (Amazon EC2/S3, etc)



Yahoo! @ ApacheCon                                                            3
Yahoo! Grid Services


      • Operate multiple grids within Yahoo!
      • 10,000s nodes, 100,000s cores, TBs RAM, PBs disk
      • Support large internal user community
             – Account management, training, etc
      • Manage data needs
             – Ingest TBs per day
      • Deploy and manage software (Hadoop, Pig, etc)




Yahoo! @ ApacheCon                                         4
“Grid” Computing

      •    What we really do is utility computing
             – Nobody knows what “utility computing” is, but everyone has heard of
               “grid computing”
                     • Grid computing implies sharing across resources owned by multiple,
                       independent organizations
                     • Utility computing implies sharing one owner’s resources by multiple,
                       independent customers
      •    Ultimate goal is to provide shared compute and storage resources
             – Instead of going to a hardware committee to provision balkanized
               resources, a project allocates a part of its budget for use on Yahoo!’s
               shared grids
             – Pay as you go
                     • Only buy 100 computers for 15 minutes of compute time vs. 100 computers
                       24x7




Yahoo! @ ApacheCon                                                                            5
What is a Yahoo! Grid Service?

      •    Thousands of machines using basic network hardware
             – It’s hard to program for many machines
      •    Clustering and sharing software
             – Hadoop, HOD, Torque, Maui, and other bits...
      •    Petabytes of data
             – It’s an engineering challenge to load so much data from many sources
      •    Attached development environment
             – A clean, well lit place to interact with a grid
      •    User support
             – Learning facilitation
      •    Usage tracking and billing
             – Someone has to pay the bills...




Yahoo! @ ApacheCon                                                              6
Quick MapReduce Overview

      •    Application writer specifies                Input 0       Input 1      Input 2
             – two functions: Map and Reduce
             – set of input files
      •    Workflow                                    Map 0          Map 1        Map 2
             – input phase generates a number of
               FileSplits from input files (one per
               Map Task)                                             Shuffle
             – Map phase executes user function
               to transform key/value inputs into
               new key/value outputs                      Reduce 0             Reduce 1
             – Framework sorts and shuffles
             – Reduce phase combines all k/v’s
               with the same key into new k/v’s
             – Output phase writes the resulting            Out 0                Out 1
               pairs to files
      •    cat * | grep | sort | uniq -c | cat > out
Yahoo! @ ApacheCon                                                                        7
Hadoop MapReduce: Process Level

      •    Job
             – Map Function + Reduce Function + List of inputs




                                                       Job
                                      Job
                                                     Tracker



                                         Task                     Task
                                        Tracker                  Tracker


                                      Task    Task             Task   Task


Yahoo! @ ApacheCon                                                           8
Hadoop Distributed File System


                                       Data
                                                FSFS
                                                 FS
                                                  FS
                                       Node


                            Data      Status

                                      Name
                          Metadata
                                      Node
                            Data
                                      Status

                                       Data
                                                FSFS
                                                 FS
                                                  FS
                                       Node




Yahoo! @ ApacheCon                                     9
Deploying Grid Services Using Hadoop
Gateways: Multi-user Land

      •    Provided for two main purposes
             – Meaningful development interaction with a compute cluster
                     • High bandwidth, low latency, and few network barriers enable a tight
                       development loop when creating MapReduce jobs
             – Permission and privilege separation
                     • Limit exposure to sensitive data
                          – Hadoop 0.15 and lower lack users, permissions, etc.
                          – Hadoop 0.16 has users and “weak” permissions
      •    Characteristics
             – “Replacement” Lab machine
             – World-writable local disk space
                     • Any single-threaded processing
                     • Code debugging                                             Gateway




Yahoo! @ ApacheCon                                                                            11
Compute Cluster and Name Nodes

      •    Compute Cluster Node
             – Users cannot login!
             – All nodes run both MapReduce and HDFS
               frameworks
             – usually 500 to 2000 machines
             – Each cluster kept relatively homogenous
             – Hardware configuration
                                                                 Task
                     • 2xSockets (2 or 4 core)
                                                                Tracker
                     • 4x500-750G                       Name
                     • 6G-8G RAM                        Node
                                                               Data Node
      •    Name Node
             – 16G RAM
                     • 14G Java heap = 18-20 million files



Yahoo! @ ApacheCon                                                         12
Queuing and Scheduling

      •    Hadoop does not have an advanced scheduling
           system
             – MapReduce JobTracker manages one or more jobs
               running within a set of machines
             – Works well for “dedicated” applications, but does not
               work so well for shared resources
      •    Grid Services are intended to be a shared multi-user,
           multi-application environment
             – Need to combine Hadoop with an external queuing and
               scheduling system...




Yahoo! @ ApacheCon                                                     13
Hadoop On Demand (HoD)

                                                                            Resource
      •    Wrapper around PBS commands
                                                                           Mgmt/Sched
             – We use freely available Torque and Maui
      •    Big win: virtual private JobTracker clusters                       maui
             – Job isolation
             – Users create clusters of the size they need
                                                                           pbs_server
             – Submit jobs to their private JT
      •    Big costs:
             –   Lose data locality
                                                                            pbs_mom
             –   Increased complexity
             –   Lose a node for private JobTracker
             –   Single reducer doesn’t free unused nodes
                     • ~ 30% efficiency lost!
      •    Looking at changing Hadoop scheduling
             – Task scheduling flexibility combined with node elasticity

Yahoo! @ ApacheCon                                                              14
HoD Job Scheduling




                     1+3 Nodes   1+4 Nodes   1+5 Nodes



                     T       T           T    T



                     J       T   T       T    J      NN




Yahoo! @ ApacheCon                                        15
The Reality of a 1000 Node Grid



                          200   400    500    10




Yahoo! @ ApacheCon                                     16
Putting It All Together


                     Gateways
                                                RM


                                          JT         DN
                                          TT         DN
                                          JT         DN
                                          TT         DN
                                          TT         DN
                                          JT         DN



                                                NN


Yahoo! @ ApacheCon                                        17
Network Configuration




                                      Core1           Core2         Core3       Core4



                              GE

                             2xGE

                                         Switch         Switch              Switch
                     40 hosts/racks      H    H   H     H   H   H           H   H   H




Yahoo! @ ApacheCon                                                                      18
Yahoo!’s Next Generation
   Grid Infrastructure
     A Work In Progress




                           19
Background Information

      •    Internal deployments
             – Mostly Yahoo! proprietary technologies
      •    M45
             – Educational outreach grid
             – Non-Yahoo!’s using Yahoo! resources
                     • Legal required us not to use any Y! technology!
      •    Decision made to start from scratch!
             – Hard to share best practices
             – Potential legal issues
             – Don’t want to support two ways to do the same operation
      •    Internal grids converting to be completely OSS as possible
             – Custom glue code to deal with any Y!<-->OSS incompatibilities
                     • user and group data



Yahoo! @ ApacheCon                                                             20
Naming and Provisioning Services

      •    Naming services
             – Kerberos for secure authentication
             – DNS for host resolution
             – LDAP for everything else
      •    ISC DHCP
             – Reads table information from LDAP
             – In pairs for redundancy
      •    Kickstart
             – We run RHEL 5.x
             – base image + bcfg2
      •    bcfg2
             – host customization
             – centralized configuration management


Yahoo! @ ApacheCon                                      21
NFS for Multi-user Support

      •    NFS
             – Home Directories
             – Project Directories
                     • Group shared data


      •    Grids with service level agreements (SLAs) shouldn’t use NFS !
             – Single point of failure
                     • HA-NFS == $$$
             – Performance
             – Real data should be in HDFS




Yahoo! @ ApacheCon                                                          22
Big Picture
                                                      Remote Data Center
                         LDAP/KRB5/                           LDAP/KRB5/
                                             MMR
                            DNS                                  DNS
                     Read Only Replication


                                               DHCP             BCFG2/YUM/
                      LDAP/KRB Slaves
                                               Data              DHCP Farm



                             GRID1            GRID2              ...       GRIDx



                                               NFS:
                                              home
                                         project (per grid)
Yahoo! @ ApacheCon                                                                 23
Self Healing/Reporting

      •    Torque
             – Use the Torque node health mechanism to disable/fix ‘sick’ nodes
                     • Great reduction in amount of support issues
                     • Address problems in bulk


      •    Nagios
             – Usual stuff
             – Custom hooks into Torque


      •    Simon
             – Yahoo!’s distributed cluster and application monitoring tools
             – Similar to Ganglia
             – On the roadmap to be open sourced



Yahoo! @ ApacheCon                                                                24
Node Usage Report




Yahoo! @ ApacheCon                       25
Ranges and Groups

      •    Range: group of hosts
             – example: @GRID == all grid hosts
             – custom tools to manipulate hosts based upon ranges:
                     • ssh -r @GRID uptime
                          – Report uptime on all of the hosts in @GRID


      •    Netgroup
             – Used to implement ranges
             – The most underrated naming service switch ever?
                     • Cascaded!
                     • Scalable!
                     • Supported in lots of useful places!
                          – PAM (e.g., _succeed_if on Linux)
                          – NFS




Yahoo! @ ApacheCon                                                       26
Some Links

      •    Apache Hadoop
             – http://hadoop.apache.org/

      •    Yahoo! Hadoop Blog
             – http://developer.yahoo.com/blogs/hadoop/

      •    M45 Press Release
             – http://research.yahoo.com/node/1879

      •    Hadoop Summit and DISC Slides
             – http://research.yahoo.com/node/2104




Yahoo! @ ApacheCon                                        27
28

More Related Content

What's hot (20)

PDF
Common and unique use cases for Apache Hadoop
Brock Noland
 
PPTX
List of Engineering Colleges in Uttarakhand
Roorkee College of Engineering, Roorkee
 
ODP
Hadoop Ecosystem Overview
Gerrit van Vuuren
 
PPTX
Hadoop World 2011: Building Scalable Data Platforms ; Hadoop & Netezza Deploy...
Krishnan Parasuraman
 
PDF
Hadoop 101
EMC
 
PDF
Hadoop ecosystem
Mohamed Ali Mahmoud khouder
 
PPTX
Oct 2012 HUG: Hadoop .Next (0.23) - Customer Impact and Deployment
Yahoo Developer Network
 
PPT
Deploying Grid Services Using Apache Hadoop
Allen Wittenauer
 
PDF
Hadoop 2.0 handout 5.0
Manaranjan Pradhan
 
PPTX
Bigdata workshop february 2015
clairvoyantllc
 
PDF
Hadoop Overview & Architecture
EMC
 
PDF
Architecting the Future of Big Data & Search - Eric Baldeschwieler
lucenerevolution
 
PPTX
Cloudera Sessions - Clinic 1 - Getting Started With Hadoop
Cloudera, Inc.
 
PDF
Hadoop Overview kdd2011
Milind Bhandarkar
 
PDF
Hadoop scalability
WANdisco Plc
 
PDF
Hadoop in Practice (SDN Conference, Dec 2014)
Marcel Krcah
 
PPTX
Hadoop Backup and Disaster Recovery
Cloudera, Inc.
 
PPTX
Drill njhug -19 feb2013
MapR Technologies
 
PPTX
Hadoop World 2011: Mike Olson Keynote Presentation
Cloudera, Inc.
 
PPTX
Large scale computing with mapreduce
hansen3032
 
Common and unique use cases for Apache Hadoop
Brock Noland
 
List of Engineering Colleges in Uttarakhand
Roorkee College of Engineering, Roorkee
 
Hadoop Ecosystem Overview
Gerrit van Vuuren
 
Hadoop World 2011: Building Scalable Data Platforms ; Hadoop & Netezza Deploy...
Krishnan Parasuraman
 
Hadoop 101
EMC
 
Hadoop ecosystem
Mohamed Ali Mahmoud khouder
 
Oct 2012 HUG: Hadoop .Next (0.23) - Customer Impact and Deployment
Yahoo Developer Network
 
Deploying Grid Services Using Apache Hadoop
Allen Wittenauer
 
Hadoop 2.0 handout 5.0
Manaranjan Pradhan
 
Bigdata workshop february 2015
clairvoyantllc
 
Hadoop Overview & Architecture
EMC
 
Architecting the Future of Big Data & Search - Eric Baldeschwieler
lucenerevolution
 
Cloudera Sessions - Clinic 1 - Getting Started With Hadoop
Cloudera, Inc.
 
Hadoop Overview kdd2011
Milind Bhandarkar
 
Hadoop scalability
WANdisco Plc
 
Hadoop in Practice (SDN Conference, Dec 2014)
Marcel Krcah
 
Hadoop Backup and Disaster Recovery
Cloudera, Inc.
 
Drill njhug -19 feb2013
MapR Technologies
 
Hadoop World 2011: Mike Olson Keynote Presentation
Cloudera, Inc.
 
Large scale computing with mapreduce
hansen3032
 

Similar to Deploying Grid Services Using Hadoop (20)

PDF
Distributed Data processing in a Cloud
elliando dias
 
PDF
Apachecon Euro 2012: Elastic, Multi-tenant Hadoop on Demand
Richard McDougall
 
PDF
Building Scale Free Applications with Hadoop and Cascading
cwensel
 
PDF
Google Compute and MapR
MapR Technologies
 
PDF
SAM SIG: Hadoop architecture, MapReduce patterns, and best practices with Cas...
cwensel
 
PDF
Apache Hadoop & Friends at Utah Java User's Group
Cloudera, Inc.
 
PDF
Hadoop programming
Muthusamy Manigandan
 
PPTX
Hadoop
Saeed Iqbal
 
PPTX
Introduction to Cloud Data Center and Network Issues
Jason TC HOU (侯宗成)
 
PDF
Hadoop and its Ecosystem Components in Action
Andrew Brust
 
PPTX
ACES QuakeSim 2011
marpierc
 
PPTX
The Evolution of the Hadoop Ecosystem
Cloudera, Inc.
 
PDF
Managing Big Data (Chapter 2, SC 11 Tutorial)
Robert Grossman
 
PPTX
MapReduce Paradigm
Dilip Reddy
 
PPTX
MapReduce Paradigm
Dilip Reddy
 
PPTX
July 2012 HUG: Using Standard File-Based Applications and SQL-Based Tools wit...
Yahoo Developer Network
 
PDF
Philly DB MapR Overview
MapR Technologies
 
PPTX
Apache Hadoop
Ajit Koti
 
PDF
No SQL Technologies
Cris Holdorph
 
PDF
Apache Hadoop an Introduction - Todd Lipcon - Gluecon 2010
Cloudera, Inc.
 
Distributed Data processing in a Cloud
elliando dias
 
Apachecon Euro 2012: Elastic, Multi-tenant Hadoop on Demand
Richard McDougall
 
Building Scale Free Applications with Hadoop and Cascading
cwensel
 
Google Compute and MapR
MapR Technologies
 
SAM SIG: Hadoop architecture, MapReduce patterns, and best practices with Cas...
cwensel
 
Apache Hadoop & Friends at Utah Java User's Group
Cloudera, Inc.
 
Hadoop programming
Muthusamy Manigandan
 
Hadoop
Saeed Iqbal
 
Introduction to Cloud Data Center and Network Issues
Jason TC HOU (侯宗成)
 
Hadoop and its Ecosystem Components in Action
Andrew Brust
 
ACES QuakeSim 2011
marpierc
 
The Evolution of the Hadoop Ecosystem
Cloudera, Inc.
 
Managing Big Data (Chapter 2, SC 11 Tutorial)
Robert Grossman
 
MapReduce Paradigm
Dilip Reddy
 
MapReduce Paradigm
Dilip Reddy
 
July 2012 HUG: Using Standard File-Based Applications and SQL-Based Tools wit...
Yahoo Developer Network
 
Philly DB MapR Overview
MapR Technologies
 
Apache Hadoop
Ajit Koti
 
No SQL Technologies
Cris Holdorph
 
Apache Hadoop an Introduction - Todd Lipcon - Gluecon 2010
Cloudera, Inc.
 
Ad

More from George Ang (20)

PDF
Wrapper induction construct wrappers automatically to extract information f...
George Ang
 
PDF
Opinion mining and summarization
George Ang
 
PPT
Huffman coding
George Ang
 
PPT
Do not crawl in the dust 
different ur ls similar text
George Ang
 
PPT
大规模数据处理的那些事儿
George Ang
 
PPT
腾讯大讲堂02 休闲游戏发展的文化趋势
George Ang
 
PPT
腾讯大讲堂03 qq邮箱成长历程
George Ang
 
PPT
腾讯大讲堂04 im qq
George Ang
 
PPT
腾讯大讲堂05 面向对象应对之道
George Ang
 
PPT
腾讯大讲堂06 qq邮箱性能优化
George Ang
 
PPT
腾讯大讲堂07 qq空间
George Ang
 
PPT
腾讯大讲堂08 可扩展web架构探讨
George Ang
 
PPT
腾讯大讲堂09 如何建设高性能网站
George Ang
 
PPT
腾讯大讲堂01 移动qq产品发展历程
George Ang
 
PPT
腾讯大讲堂10 customer engagement
George Ang
 
PPT
腾讯大讲堂11 拍拍ce工作经验分享
George Ang
 
PPT
腾讯大讲堂14 qq直播(qq live) 介绍
George Ang
 
PPT
腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍
George Ang
 
PPTX
腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍
George Ang
 
PPT
腾讯大讲堂16 产品经理工作心得分享
George Ang
 
Wrapper induction construct wrappers automatically to extract information f...
George Ang
 
Opinion mining and summarization
George Ang
 
Huffman coding
George Ang
 
Do not crawl in the dust 
different ur ls similar text
George Ang
 
大规模数据处理的那些事儿
George Ang
 
腾讯大讲堂02 休闲游戏发展的文化趋势
George Ang
 
腾讯大讲堂03 qq邮箱成长历程
George Ang
 
腾讯大讲堂04 im qq
George Ang
 
腾讯大讲堂05 面向对象应对之道
George Ang
 
腾讯大讲堂06 qq邮箱性能优化
George Ang
 
腾讯大讲堂07 qq空间
George Ang
 
腾讯大讲堂08 可扩展web架构探讨
George Ang
 
腾讯大讲堂09 如何建设高性能网站
George Ang
 
腾讯大讲堂01 移动qq产品发展历程
George Ang
 
腾讯大讲堂10 customer engagement
George Ang
 
腾讯大讲堂11 拍拍ce工作经验分享
George Ang
 
腾讯大讲堂14 qq直播(qq live) 介绍
George Ang
 
腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍
George Ang
 
腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍
George Ang
 
腾讯大讲堂16 产品经理工作心得分享
George Ang
 
Ad

Recently uploaded (20)

PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Biography of Daniel Podor.pdf
Daniel Podor
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 

Deploying Grid Services Using Hadoop

  • 1. Deploying Grid Services Using Hadoop Allen Wittenauer April 11, 2008 Yahoo! @ ApacheCon 1
  • 2. Agenda • Grid Computing At Yahoo! • Quick Overview of Hadoop – “Hadoop for Systems Administrators” • Scaling Hadoop Deployments • Yahoo!’s Next Generation Grid Infrastructure • Questions (and maybe even Answers!) Yahoo! @ ApacheCon 2
  • 3. Grid Computing at Yahoo! • Drivers – 500M unique users per month – Billions of interesting events per day – “Data analysis is the inner-loop at Yahoo!” • Yahoo! Grid Vision and Focus – On-demand, shared access to vast pool of resources – Support for massively parallel execution (1000s of processors) – Data Intensive Super Computing (DISC) – Centrally provisioned and managed – Service-oriented, elastic • What We’re Not – Not “Grid” in the sense of scientific community (Globus, etc) – Not focused on public or 3rd-party utility (Amazon EC2/S3, etc) Yahoo! @ ApacheCon 3
  • 4. Yahoo! Grid Services • Operate multiple grids within Yahoo! • 10,000s nodes, 100,000s cores, TBs RAM, PBs disk • Support large internal user community – Account management, training, etc • Manage data needs – Ingest TBs per day • Deploy and manage software (Hadoop, Pig, etc) Yahoo! @ ApacheCon 4
  • 5. “Grid” Computing • What we really do is utility computing – Nobody knows what “utility computing” is, but everyone has heard of “grid computing” • Grid computing implies sharing across resources owned by multiple, independent organizations • Utility computing implies sharing one owner’s resources by multiple, independent customers • Ultimate goal is to provide shared compute and storage resources – Instead of going to a hardware committee to provision balkanized resources, a project allocates a part of its budget for use on Yahoo!’s shared grids – Pay as you go • Only buy 100 computers for 15 minutes of compute time vs. 100 computers 24x7 Yahoo! @ ApacheCon 5
  • 6. What is a Yahoo! Grid Service? • Thousands of machines using basic network hardware – It’s hard to program for many machines • Clustering and sharing software – Hadoop, HOD, Torque, Maui, and other bits... • Petabytes of data – It’s an engineering challenge to load so much data from many sources • Attached development environment – A clean, well lit place to interact with a grid • User support – Learning facilitation • Usage tracking and billing – Someone has to pay the bills... Yahoo! @ ApacheCon 6
  • 7. Quick MapReduce Overview • Application writer specifies Input 0 Input 1 Input 2 – two functions: Map and Reduce – set of input files • Workflow Map 0 Map 1 Map 2 – input phase generates a number of FileSplits from input files (one per Map Task) Shuffle – Map phase executes user function to transform key/value inputs into new key/value outputs Reduce 0 Reduce 1 – Framework sorts and shuffles – Reduce phase combines all k/v’s with the same key into new k/v’s – Output phase writes the resulting Out 0 Out 1 pairs to files • cat * | grep | sort | uniq -c | cat > out Yahoo! @ ApacheCon 7
  • 8. Hadoop MapReduce: Process Level • Job – Map Function + Reduce Function + List of inputs Job Job Tracker Task Task Tracker Tracker Task Task Task Task Yahoo! @ ApacheCon 8
  • 9. Hadoop Distributed File System Data FSFS FS FS Node Data Status Name Metadata Node Data Status Data FSFS FS FS Node Yahoo! @ ApacheCon 9
  • 11. Gateways: Multi-user Land • Provided for two main purposes – Meaningful development interaction with a compute cluster • High bandwidth, low latency, and few network barriers enable a tight development loop when creating MapReduce jobs – Permission and privilege separation • Limit exposure to sensitive data – Hadoop 0.15 and lower lack users, permissions, etc. – Hadoop 0.16 has users and “weak” permissions • Characteristics – “Replacement” Lab machine – World-writable local disk space • Any single-threaded processing • Code debugging Gateway Yahoo! @ ApacheCon 11
  • 12. Compute Cluster and Name Nodes • Compute Cluster Node – Users cannot login! – All nodes run both MapReduce and HDFS frameworks – usually 500 to 2000 machines – Each cluster kept relatively homogenous – Hardware configuration Task • 2xSockets (2 or 4 core) Tracker • 4x500-750G Name • 6G-8G RAM Node Data Node • Name Node – 16G RAM • 14G Java heap = 18-20 million files Yahoo! @ ApacheCon 12
  • 13. Queuing and Scheduling • Hadoop does not have an advanced scheduling system – MapReduce JobTracker manages one or more jobs running within a set of machines – Works well for “dedicated” applications, but does not work so well for shared resources • Grid Services are intended to be a shared multi-user, multi-application environment – Need to combine Hadoop with an external queuing and scheduling system... Yahoo! @ ApacheCon 13
  • 14. Hadoop On Demand (HoD) Resource • Wrapper around PBS commands Mgmt/Sched – We use freely available Torque and Maui • Big win: virtual private JobTracker clusters maui – Job isolation – Users create clusters of the size they need pbs_server – Submit jobs to their private JT • Big costs: – Lose data locality pbs_mom – Increased complexity – Lose a node for private JobTracker – Single reducer doesn’t free unused nodes • ~ 30% efficiency lost! • Looking at changing Hadoop scheduling – Task scheduling flexibility combined with node elasticity Yahoo! @ ApacheCon 14
  • 15. HoD Job Scheduling 1+3 Nodes 1+4 Nodes 1+5 Nodes T T T T J T T T J NN Yahoo! @ ApacheCon 15
  • 16. The Reality of a 1000 Node Grid 200 400 500 10 Yahoo! @ ApacheCon 16
  • 17. Putting It All Together Gateways RM JT DN TT DN JT DN TT DN TT DN JT DN NN Yahoo! @ ApacheCon 17
  • 18. Network Configuration Core1 Core2 Core3 Core4 GE 2xGE Switch Switch Switch 40 hosts/racks H H H H H H H H H Yahoo! @ ApacheCon 18
  • 19. Yahoo!’s Next Generation Grid Infrastructure A Work In Progress 19
  • 20. Background Information • Internal deployments – Mostly Yahoo! proprietary technologies • M45 – Educational outreach grid – Non-Yahoo!’s using Yahoo! resources • Legal required us not to use any Y! technology! • Decision made to start from scratch! – Hard to share best practices – Potential legal issues – Don’t want to support two ways to do the same operation • Internal grids converting to be completely OSS as possible – Custom glue code to deal with any Y!<-->OSS incompatibilities • user and group data Yahoo! @ ApacheCon 20
  • 21. Naming and Provisioning Services • Naming services – Kerberos for secure authentication – DNS for host resolution – LDAP for everything else • ISC DHCP – Reads table information from LDAP – In pairs for redundancy • Kickstart – We run RHEL 5.x – base image + bcfg2 • bcfg2 – host customization – centralized configuration management Yahoo! @ ApacheCon 21
  • 22. NFS for Multi-user Support • NFS – Home Directories – Project Directories • Group shared data • Grids with service level agreements (SLAs) shouldn’t use NFS ! – Single point of failure • HA-NFS == $$$ – Performance – Real data should be in HDFS Yahoo! @ ApacheCon 22
  • 23. Big Picture Remote Data Center LDAP/KRB5/ LDAP/KRB5/ MMR DNS DNS Read Only Replication DHCP BCFG2/YUM/ LDAP/KRB Slaves Data DHCP Farm GRID1 GRID2 ... GRIDx NFS: home project (per grid) Yahoo! @ ApacheCon 23
  • 24. Self Healing/Reporting • Torque – Use the Torque node health mechanism to disable/fix ‘sick’ nodes • Great reduction in amount of support issues • Address problems in bulk • Nagios – Usual stuff – Custom hooks into Torque • Simon – Yahoo!’s distributed cluster and application monitoring tools – Similar to Ganglia – On the roadmap to be open sourced Yahoo! @ ApacheCon 24
  • 25. Node Usage Report Yahoo! @ ApacheCon 25
  • 26. Ranges and Groups • Range: group of hosts – example: @GRID == all grid hosts – custom tools to manipulate hosts based upon ranges: • ssh -r @GRID uptime – Report uptime on all of the hosts in @GRID • Netgroup – Used to implement ranges – The most underrated naming service switch ever? • Cascaded! • Scalable! • Supported in lots of useful places! – PAM (e.g., _succeed_if on Linux) – NFS Yahoo! @ ApacheCon 26
  • 27. Some Links • Apache Hadoop – http://hadoop.apache.org/ • Yahoo! Hadoop Blog – http://developer.yahoo.com/blogs/hadoop/ • M45 Press Release – http://research.yahoo.com/node/1879 • Hadoop Summit and DISC Slides – http://research.yahoo.com/node/2104 Yahoo! @ ApacheCon 27
  • 28. 28