Can’t We All Just Get Along? Sandy Ryza. Introductions Software engineer at Cloudera MapReduce, YARN, Resource management Hadoop committer.

Slides:



Advertisements
Similar presentations
Capacity Planning in a Virtual Environment
Advertisements

The Datacenter Needs an Operating System Matei Zaharia, Benjamin Hindman, Andy Konwinski, Ali Ghodsi, Anthony Joseph, Randy Katz, Scott Shenker, Ion Stoica.
MapReduce Online Created by: Rajesh Gadipuuri Modified by: Ying Lu.
© Hortonworks Inc Running Non-MapReduce Applications on Apache Hadoop Hitesh Shah & Siddharth Seth Hortonworks Inc. Page 1.
Spark in the Hadoop Ecosystem Eric Baldeschwieler (a.k.a. Eric14)
Wei-Chiu Chuang 10/17/2013 Permission to copy/distribute/adapt the work except the figures which are copyrighted by ACM.
Introduction to Spark Shannon Quinn (with thanks to Paco Nathan and Databricks)
Hadoop YARN in the Cloud Junping Du Staff Engineer, VMware China Hadoop Summit, 2013.
Resource Management with YARN: YARN Past, Present and Future
Why static is bad! Hadoop Pregel MPI Shared cluster Today: static partitioningWant dynamic sharing.
Mesos A Platform for Fine-Grained Resource Sharing in Data Centers Benjamin Hindman, Andy Konwinski, Matei Zaharia, Ali Ghodsi, Anthony D. Joseph, Randy.
Computer Organization and Architecture
Hadoop tutorials. Todays agenda Hadoop Introduction and Architecture Hadoop Distributed File System MapReduce Spark 2.
Patrick Wendell Databricks Deploying and Administering Spark.
Hadoop Ecosystem Overview
SQL on Hadoop. Todays agenda Introduction Hive – the first SQL approach Data ingestion and data formats Impala – MPP SQL.
1 Status of the ALICE CERN Analysis Facility Marco MEONI – CERN/ALICE Jan Fiete GROSSE-OETRINGHAUS - CERN /ALICE CHEP Prague.
Take An Internal Look at Hadoop Hairong Kuang Grid Team, Yahoo! Inc
Apache Spark and the future of big data applications Eric Baldeschwieler.
Copyright © 2010 Platform Computing Corporation. All Rights Reserved.1 The CERN Cloud Computing Project William Lu, Ph.D. Platform Computing.
A Dynamic MapReduce Scheduler for Heterogeneous Workloads Chao Tian, Haojie Zhou, Yongqiang He,Li Zha 簡報人:碩資工一甲 董耀文.
MapReduce: Simplified Data Processing on Large Clusters Jeffrey Dean and Sanjay Ghemawat.
Presented by CH.Anusha.  Apache Hadoop framework  HDFS and MapReduce  Hadoop distributed file system  JobTracker and TaskTracker  Apache Hadoop NextGen.
Our Experience Running YARN at Scale Bobby Evans.
EXPOSE GOOGLE APP ENGINE AS TASKTRACKER NODES AND DATA NODES.
Hadoop tutorials. Todays agenda Hadoop Introduction and Architecture Hadoop Distributed File System MapReduce Spark Cluster Monitoring 2.
Introduction to Hadoop and HDFS
Tachyon: memory-speed data sharing Haoyuan (HY) Li, Ali Ghodsi, Matei Zaharia, Scott Shenker, Ion Stoica Good morning everyone. My name is Haoyuan,
Hadoop Ali Sharza Khan High Performance Computing 1.
Grid Computing at Yahoo! Sameer Paranjpye Mahadev Konar Yahoo!
How Companies are Using Spark And where the Edge in Big Data will be Matei Zaharia.
Virtualization and Databases Ashraf Aboulnaga University of Waterloo.
Hadoop IT Services Hadoop Users Forum CERN October 7 th,2015 CERN IT-D*
Matthew Winter and Ned Shawa
DynamicMR: A Dynamic Slot Allocation Optimization Framework for MapReduce Clusters Nanyang Technological University Shanjiang Tang, Bu-Sung Lee, Bingsheng.
Big Data Engineering: Recent Performance Enhancements in JVM- based Frameworks Mayuresh Kunjir.
1 Modern Approaches of Customer’s Dream Distribution Across the Cluster Evgenij Kozhevnikov, Samara AUGUST 4, 2015.
Spark based on PCIe FPGA Board and CMOST
A Platform for Fine-Grained Resource Sharing in the Data Center
Latest Improvements in the PROOF system Bleeding Edge Physics with Bleeding Edge Computing Fons Rademakers, Gerri Ganis, Jan Iwaszkiewicz CERN.
Capacity Planning in a Virtual Environment Chris Chesley, Sr. Systems Engineer
Next Generation of Apache Hadoop MapReduce Owen
Part III BigData Analysis Tools (YARN) Yuan Xue
BIG DATA/ Hadoop Interview Questions.
Spark on Entropy : A Reliable & Efficient Scheduler for Low-latency Parallel Jobs in Heterogeneous Cloud Huankai Chen PhD Student at University of Kent.
Practical Hadoop: do’s and don’ts by example Kacper Surdy, Zbigniew Baranowski.
CFI 2004 UW A quick overview with lots of time for Q&A and exploration.
- Inter-departmental Lab
Virtualizing Big Data/Hadoop Workloads on vSphere
About Hadoop Hadoop was one of the first popular open source big data technologies. It is a scalable fault-tolerant system for processing large datasets.
Yarn.
Introduction to Distributed Platforms
ITCS-3190.
Spark and YARN: Better Together
An Open Source Project Commonly Used for Processing Big Data Sets
Chapter 10 Data Analytics for IoT
Hadoop Tutorials Spark
Spark Presentation.
CS 425 / ECE 428 Distributed Systems Fall 2016 Nov 10, 2016
Data Platform and Analytics Foundational Training
Apache Hadoop YARN: Yet Another Resource Manager
CS 425 / ECE 428 Distributed Systems Fall 2017 Nov 16, 2017
Software Engineering Introduction to Apache Hadoop Map Reduce
Software Architecture in Practice
Ministry of Higher Education
湖南大学-信息科学与工程学院-计算机与科学系
Execution Framework: Hadoop 2.x
Spark and Scala.
COS 518: Distributed Systems Lecture 11 Mike Freedman
CS639: Data Management for Data Science
Presentation transcript:

Can’t We All Just Get Along? Sandy Ryza

Introductions Software engineer at Cloudera MapReduce, YARN, Resource management Hadoop committer

Bringing Computation to the Data Users want to ETL a dataset with Pig and MapReduce Fit a model to it with Spark Have BI tools query it with Impala Same set of machines that hold data must also host these frameworks

Cluster Resource Management Hadoop brings generalized computation to big data More processing frameworks MapReduce, Impala, Spark Some workloads are more important than others A cluster has finite resources Limited CPU, memory, disk and network bandwidth How do we make sure each workload gets the resources it deserves?

Introduction this talk is about our vision for Spark on Hadoop we see it as a first class data processing framework alongside MR and Impala our goal is to get it to run seamlessly with them most of the talk is going to be about how it can do this already the rest will be about what we need in the future to make it better

How We See It HDFS ImpalaMapReduceSpark

How They Want to See It Engineering - 50% Finance - 30% Marketing - 20% SparkMR Impala Spark MR Impala Spark MR Impala HDFS

Central Resource Management HDFS ImpalaMapReduceSpark YARN

Resource manager and scheduler for Hadoop “Container” is a process scheduled on the cluster with a resource allocation (amount MB, # cores) Each container belongs to an “Application”

YARN Application Masters Each YARN app has an “Application Master” (AM) process running on the cluster AM responsible for requesting containers from YARN AM creation latency is much higher than resource acquisition

YARN ResourceManager NodeManager Container Map Task Container Application Master Container Reduce Task JobHistory Server Client

YARN Queues Cluster resources allocated to “queues” Each application belongs to a queue Queues may contain subqueues Root Mem Capacity: 12 GB CPU Capacity: 24 cores Marketing Fair Share Mem: 4 GB Fair Share CPU: 8 cores R&D Fair Share Mem: 4 GB Fair Share CPU: 8 cores Sales Fair Share Mem: 4 GB Fair Share CPU: 8 cores Jim’s Team Fair Share Mem: 2 GB Fair Share CPU: 4 cores Bob’s Team Fair Share Mem: 2 GB Fair Share CPU: 4 cores

YARN app models Application master (AM) per job Most simple for batch Used by MapReduce Application master per session Runs multiple jobs on behalf of the same user Recently added in Tez Long-lived Permanently on, waits around for jobs to come in Used for Impala

Spark Usage Modes ModeLong-LivedMultiple Users BatchNo InteractiveYesNo ServerYes

Spark on YARN Developed at Yahoo Application Master per SparkContext Container per Spark executor Currently useful for Spark Batch jobs Requests all resources up front

Long-Lived Goals Hang on to few resources when we’re not running work Use lots of the cluster (over fair share) when it’s not being used by others Give back resources gracefully when preempted Get resources quickly when we need them

Mesos Fine-Grained Mode Allocate static chunks of memory at Spark app start time Schedule CPU dynamically when running tasks

Long-Lived Approach A YARN application master per Spark application (SparkContext) One executor per application per node One YARN container per executor

Long-Lived: YARN work YARN resizable containers YARN long lived YARN

Long-Lived: Spark Work YARN fine-grained mode Changes to support adjusting resources in Spark AM Memory?

We want to be able to have memory allocations preempted and keep running RDDs stored in JVM memory JVMs don’t give back memory The Memory Problem

The Memory Solutions Rewrite Spark in C++ Off-heap cache Hold RDDs in executor processes in off-heap byte buffers These can be freed and returned to the OS Tachyon Executor processes don’t hold RDDs Store data in Tachyon Punts off-heap problem to Tachyon Has other advantages, like not losing data when executor crashes

Multiple User Challenges A single Spark application wants to run work on behalf of multiple parties Applications are typically billed to a single queue We’d want to bill jobs to different queues TODO: picture here

Multiple Users with Impala Impala has same exact problem Solution: Llama (Low Latency Application MAster) Adapter between YARN and Impala Runs multiple AMs in a single process Submits resource requests on behalf of relevant AM