software engineering Chapter 5 System modeling.pptx
Hadoop on OpenStack - Sahara @DevNation 2014
1. Big data processing with
Hadoop on OpenStack
Matthew Farrellee
(@spinningmatt)
Red Hat
2. Here for a talk about Savanna?
Oops, this talk is about Sahara.
Good news is they’re the same thing.
Savanna was renamed for trademark reasons to Sahara.
You have to go to page 10 of google results to find out why:
https://www.google.com/search?q=savanna+hadoop&start=90
3. In brief - what is Hadoop
● Narrow - Apache Hadoop - a specific
Apache project originally from Yahoo!, based
on papers published from Google
● Broad - an ecosystem of projects, mostly
Apache, that integrate in some way with
Apache Hadoop
● Most common to use the broad definition
4. Hadoop from Hortonworks (+ others)
● Multiple projects
○ Workload management
○ Resource management
○ System management
○ Data ingest & storage
○ Compute frameworks
○ Domain languages
● Data storage and
processing focused
5. In brief - what is OpenStack
OpenStack is a cloud operating system that
controls large pools of compute, storage, and
networking resources throughout a datacenter,
all managed through a dashboard that gives
administrators control while empowering their
users to provision resources through a web
interface.
6. An ecosystem of projects
● Compute - Nova
● Networking - Neutron
● Object Storage - Swift
● Block Storage - Cinder
● Identity - Keystone
● Image Service - Glance
● Dashboard - Horizon
● Telemetry - Ceilometer
● Orchestration - Heat
● Data Processing - Sahara
7. Longer comments on big data
Choose your own adventure…
Go to the next slide and get the day over
sooner
See some shoegazing followed by a rant and
have the day last longer
8. Interest (via Google Trends)
Hadoop
EC2
OpenStack
www.google.com/trends/explore#q=hadoop,ec2,openstack
9. Interest (via Google Trends)
Hadoop
EC2
OpenStack
www.google.com/trends/explore#q=hadoop,ec2,openstack
EC2 beta Aug 25 2006 (http://aws.typepad.
com/aws/2006/08/amazon_ec2_beta.html)
11. Analysis - have a question
● Even this alone is hard to come up with
● The question you answer won’t be the
question you set out to ask
● You’ll have to iterate and refine
Can I predict doctor specialty from what
procedures they perform?
12. Analysis - finding the data
● Publically -
○ Tons of data repositories
○ No consistency, even within a specific repository
● Privately -
○ Data often hidden in silos
○ Even less consistency
● Avoid datasets that don’t come with a
dictionary
○ Data w/o a dictionary is like code w/o comments
13. Analysis - acceptable use
● Publically -
○ Data sets often have associated licenses
○ Yes, even public (government) sets
○ You may have to find an alternative set
● Privately -
○ Often tightly controlled, considered sensitive
business data
○ If you can use it, maybe only in a specific place
○ Likely no alternatives
14. ● The story of Stephen Glasser and Cheryl
Palma
● Two of the oldest people in the medical
profession working with medicare
● Stephen Glasser graduated in 1773
● Cheryl Palma graduated in 1776
Analysis - explore / clean the data
15. Analysis - finally
● You got some answer to a question you
approximately asked
● You must refine the question and process
● Repeat
This is hard enough without having to manage
tools and infrastructure!
17. Sahara is
● An OpenStack project in the Data
Processing program
● Started one year ago (Summit in Portland)
● Incubated in Icehouse (6 months ago)
● Integrated for Juno (6 months from now)
19. Sahara’s plugin architecture
● This is important!
● It’s where Hadoop distribution vendors
integrate their management software
● It’s how users pick different software
versions
● Currently: Vanilla (reference impl. w/ Apache
versions), HDP (via Ambari), IDH (via Intel
Manager) and under review CDH and Spark
20. Sahara lets you
● Create and manage clusters
● Define and run analysis jobs
● All through a programmatic interface
● Or a web console
22. API v1 (Cluster operations)
● http://bit.ly/1hRXrVX
● Plugins
○ list - comes from configuration
○ get - provides capabilities of a plugin, e.g. services
● Images
○ register - provide basic metadata, username - going
away w/ heat
○ tag/untag - associate image w/ a plugin
23. API v1 (Cluster operations) (cont)
● http://bit.ly/1hRXrVX
● Templates
○ node groups
○ clusters
● Clusters
○ Instances of templates
24. API v1.1 (Elastic Data Processing)
● http://bit.ly/1kXGjGj
● Data Source
○ Input and output locations (Swift/HDFS urls)
● Job Binaries
○ Often JARs or scripts stored in Swift or ...
● Jobs
○ Templates for a job with missing parameters
● Job executions
○ Instances of templates with parameters provided
25. API v2 (future)
Consistent, stable, and clean evolution of v1 & v1.1
○ Image handling in v1 wasn’t RESTful
○ Reduce use of internally stored binaries
○ Jobs & job executions weren’t RESTful
○ Resource naming wasn’t consistent (clusters v job-
executions & cluster-templates v jobs)
○ Prune unused operations, e.g status-refresh
○ Align resource lifecycle, e.g. terminate = stop&delete
vs terminate = stop
28. Roadmap
● I mentioned a couple things, but this is a
community project
● The Icehouse release is tomorrow
● Design summit, where developers & users &
business get together to define the roadmap,
is May 13-16 in Atlanta
29. Demo with bigpetstore
● http://jayunit100.github.io/bigpetstore/slides
● Bigpetstore (by @jayunit100)
○ A full stack hadoop application
○ Uses the main players in the hadoop ecosystem
○ To demonstrate a single domain
○ Just accepted into the Bigtop project!
30. Demo with bigpetstore...live (cont)
We’re going to perform petstore transaction
analysis -
1. Generate data from a model
2. Transform data for processing
3. Process w/ pig or mahout, we’ll do pig
4. Visualize results in web app