SlideShare a Scribd company logo
Page1 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Authoring and Hosting Applications on
YARN using Slider
June 2015
Sumit Mohanty
Jonathan Maron
Page2 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Agenda
Background
Simplified Packaging
Application Upgrade
Security Enhancements
Docker Integration
Key Enhancements
Conclusion and Q/A
Page 2
Page3 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Agenda
Background
Simplified Packaging
Application Upgrade
Security Enhancements
Docker Integration
Key Enhancements
Conclusion and Q/A
Page 3
Page4 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Fun operational problems
Placement: where to run?
Installation
Configuration & Binding
Client configuration
Lifecycle
Failure handing and recovery
Logging
Upgrading
Metrics & Monitoring
Start/Stop
Reconfigure
Scale up/down
Rolling-restart
Decommission/Recommission
Page5 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
== Getting your code to work across
a set of fairly reliable machines
Page6 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Apache Slider
Deploying and managing
applications on a YARN cluster
http://slider.incubator.apache.org/
Page7 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
YARN runs code across the cluster
Page 7
HDFS
YARN Node Manager
HDFS
YARN Node Manager
HDFS
YARN Resource Manager
“The RM”
HDFS
YARN Node Manager
• Servers run YARN Node Managers
• NM's heartbeat to Resource Manager
• RM schedules work over cluster
• RM allocates containers to apps
• NMs start containers
• NMs report container health
Page8 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Client creates App Master
Page 8
HDFS
YARN Node Manager
HDFS
YARN Node Manager
HDFS
YARN Resource Manager
“The RM”
HDFS
YARN Node Manager
Client
Application Master
Page9 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
AM asks for containers
Page 9
HDFS
YARN Node Manager
HDFS
YARN Node Manager
HDFS
YARN Resource Manager
HDFS
YARN Node Manager
Application Master
Container
Container
Container
Page10 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Slider view of an Application
An application is a set of components
A component is a daemon/launched exe
configuration
scripts, data files, etc.
Component may have one or more instances
Component instances are managed
By extension, the app instance is
Example
HBase Application (3 components)
• HBase Master
• HBase RegionServer
• HBase REST service
Page 10
Page11 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Agenda
Background
Simplified Packaging
Application Upgrade
Security Enhancements
Docker Integration
Key Enhancements
Conclusion and Q/A
Page 11
Page12 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Options
A Simple Program
Simple Program that Advertises
Bring your own binaries
A Minimal Application Package
Page 12
Goal: Make it simpler to run simple apps
Page13 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
A Simple Program
All dependencies installed
Default configuration
Well-known endpoints
Long running
Page 13
Page16 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Simple Program that Advertises
All dependencies installed
Portable – advertises the endpoints
Long running
Page 16
Page20 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Bring your own Binaries
Dependencies deployed by the app instance
Portable – advertises the endpoints
Long running
Page 20
Page23 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Demo
Simplified Application Package
Page24 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Application Package
Why might I need a package?
Easier to share
Versioned
Default configs
Easier to upgrade
• admins may install blessed versions
May package a client
• slider client install --package … --client-config …
Page 24
HBase Accumulo Storm Kafka Solr Spark …
Page25 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Minimal Application Package
Package content
Page 25
Archive: jmemcached-1.0.0.zip
Length Date Time Name
--------- ---------- ----- ----
472 02-26-2015 02:49 appConfig-default.json
2029 11-23-2014 14:11 metainfo.xml
0 08-27-2014 20:54 package/
0 01-09-2015 01:34 package/files/
118272 01-09-2015 01:33 package/files/jmemcached-1.0.0.tar
0 11-23-2014 14:11 package/scripts/
1659 11-23-2014 14:11 package/scripts/memcached.py
1346 11-23-2014 14:11 package/scripts/params.py
1823 11-23-2014 14:11 README.txt
280 11-23-2014 14:11 resources-default.json
1100 02-26-2015 02:59 metainfo.json
--------- -------
126981 11 files
Page26 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Agenda
Background
Simplified Packaging
Application Upgrade
Security Enhancements
Docker Integration
Key Enhancements
Conclusion and Q/A
Page 26
Page27 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
YARN Containers with Slider (recap)
Page 27
YARN Node Manager
Component (container)AppMaster (container)
YARN Node Manager
HDFS
Slider Agent
Application
Slider AppMaster
Slider Client
HDFS
HDFS
YARN Resource Manager
Page28 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Upgrade Considerations
YARN Core
Slider apps run uninterrupted
Slider Client
Backwards compatible
Slider App Master
Applications started prior to YARN core upgrade/downgrade continue to run with same core
libraries
App Master upgrade requires app restart with newer client
Page 28
Page29 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Slider Application Upgrades
Slider supports application rolling upgrade
Upgrade to a newer version of application binary and/or configuration, without downtime
Application owner orchestrates the upgrade
Sufficient “slaves” should be running to handle the load at the time of the upgrade
Ensure the application is compatible in a mixed version mode
Validate application health at important touch points
Perform downgrade at the earliest detection of anomaly
App Author
Pre-upgrade hook for simple housekeeping tasks (optional)
Page 29
Page30 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Application Upgrade Steps
Page 30
Create an app:
$ slider create hbase_demo --resources resources_v1.0.json -–template appConfig_v1.0.json
$ slider list hbase_demo --containers
Provide Upgrade spec:
$ slider upgrade hbase_demo --resources resources_v2.0.json --template appConfig_v2.0.json
$ slider list hbase_demo --containers
Upgrade components/containers:
$ slider upgrade hbase_demo --components HBASE_MASTER
$ slider upgrade hbase_demo --containers container_000002
$ slider list hbase_demo --containers
Page31 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Demo
Rolling Upgrade
Page32 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Minimal Upgrade
diff appConfig_v1.0.json appConfig_v2.0.json
Page 32
< "application.def": ".slider/package/HBASE/0.98.4.2.2.0.0-2041/slider-hbase-app-package-0.98.4.2.2.0.0-2041-
hadoop2.zip",
---
> "application.def": ".slider/package/HBASE/1.1.0.2.3.0.0-2245/slider-hbase-app-package-1.1.0.2.3.0.0-2245.zip",
< "site.global.app_version": "0.98.4.2.2.0.0-2041",
< "site.global.app_root": "${AGENT_WORK_ROOT}/app/install/hbase-0.98.4.2.2.0.0-2041-hadoop2",
---
> "site.global.app_version": "1.1.0.2.3.0.0-2245",
> "site.global.app_root": "${AGENT_WORK_ROOT}/app/install/hbase-1.1.0.2.3.0.0-2245",
Page33 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Agenda
Background
Simplified Packaging
Application Upgrade
Security Enhancements
Docker Integration
Key Enhancements
Conclusion and Q/A
Page 33
Page34 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Security
Applications validated to work in Kerberos secured cluster
Secure application created and keytabs available to application components
Security parameters specified in application configuration
User obtains TGT (kinit) prior to Slider application creation
E.g. HBase 0.98.4
Agent-AM SSL communication
One-Way by default
Two-Way can be enabled
Page 34
Page35 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
New Security Features
Application Keytabs
Slider distribution
• Keytabs installed into pre-defined location in HDFS can be localized by Slider
Manual distribution
Application certificate store creation and distribution
Application specifies need for keystore and/or truststore
Generated stores localized to standard locations on container hosts
Page 35
Page36 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Agenda
Background
Simplified Packaging
Application Upgrade
Security Enhancements
Docker Integration
Key Enhancements
Conclusion and Q/A
Page 36
Page37 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Slider: current architecture
1. CLI
2. AppMaster
3. AgentProvider
4. SliderAgent
5. Docker containers
Slider
App config
files
YARN Resource Manager
“The RM”
YARN Node Manager
Slider Agent
YARN Node Manager
Slider Agent
Application Docker container
Slider Application Master
Slider CLI
Docker daemon
Docker daemon
Application Docker container
Page38 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
On-boarding Dockerized Application on YARN via Slider
• Application definition – metainfo.json (contains docker image name)
• Application instance configuration (if any) – app_config.json
• Application resource definition – resources.json
No Application bundle and lifecycle scripts
Page 38
Page39 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
metainfo.json – structure of the application
{
"schemaVersion": "2.1",
"application": {
"name": "NODEJS-REDIS",
"components": [
{
"name": "NODEJS",
"type": "docker",
"dockerContainers": [
{
"name": "nodejs”,
"image": "rsahahw/centos-node-redis”,
"ports": [{"containerPort" : "8000” }]
}
]
},
{
"name": "REDIS",
"type": "docker",
"dockerContainers": [
{
"name": "redis",
"image": "tutum/redis",
"ports": [{
"containerPort" : "6379",
"hostPort": "6379”
...
Page40 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
resources.json – resource requirement of the application
{
"schema" : "http://example.org/specification/v2.0.0",
"metadata" : {
},
"global" : {
},
"components": {
"NODEJS": {
"yarn.role.priority": "1",
"yarn.component.instances": "1",
"yarn.memory": "512"
},
"REDIS": {
"yarn.role.priority": "2",
"yarn.component.instances": "1",
"yarn.memory": "512"
}
}
}
Page41 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
app_config.json – instance specific configuration of the application
{
"schema": "http://example.org/specification/v2.0.0",
"metadata": {
},
"global": {
},
"components": {
"NODEJS": {
"nodejs.options":"-d -e REDIS_HOST=${REDIS_HOST}",
"nodejs.statusCommand":
"/usr/bin/docker exec ${CONTAINER_ID} ps aux | grep redis-server"
},
"REDIS": {
"redis.options":"-d -e REDIS_PASS=**None**",
"redis.statusCommand":
"docker exec ${CONTAINER_ID} ps aux | grep redis-server"
}
}
}
Page42 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Commands: create, start, stop, destroy
$ slider create dockerapp1 --resources resources.json -–template appConfig.json -–metainfo
metainfo.json
$ slider list
$ slider stop dockerapp1
$ slider destroy dockerapp1
Page43 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Demo
Dockerized node.js app using dockerized redis for persistence
Page44 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Agenda
Background
Simplified Packaging
Application Upgrade
Security Enhancements
Docker Integration
Key Enhancements
Conclusion and Q/A
Page 44
Page45 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
 Labelled nodes & queues
 Log aggregation
 Container retention over Application Master restart
 Service registration & discovery
 Kerberos token renewal
 Windowed Application failure tracking
YARN Enhancements (Hadoop 2.6+)
—essential for all long-lived YARN services
Page46 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Service Registration and Discovery (YARN-913)
Core part of Hadoop 2.6
Registration & discovery of static & dynamic services
Slider
Find and communicate with AM (client)
AM-agent binding
Publication of REST/IPC endpoints for deployed apps
Configuration files
Page 46
Page47 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Node Labels
Leveraged by slider to map components to labels
Page 47
Page48 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Placement/Escalation
Long lived processes
May be willing to wait for an extended period to come up on the same node
• E.g. if a server has crashed and is rebooting, or is down for a quick hardware fix
Ultimately giving up is ok
• Can recover
Unreliability measured by failures in a recent time period
Page 48
Page49 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Placement/Escalation Approach
‘Escalation’ - allow for extended periods to wait before relaxing placement
Minutes rather than seconds
Role & node failures designate, respectively, if an app is failing or a node is unreliable
Reset on a regular, schedule basis (tunable)
Node reliability tracking
Node failure counts do not include
• node-independent failures
– E.g. container memory limits exceeded
• pre-emption events
Component role failure counters don't count node failures or pre-emption
Untrusted nodes not asked for containers even if that node is the previous location container ran
Exception: If placement policy is designated as ‘strict’ there is no escalation
Page 49
Page50 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Join in: Bring your favorite Applications to YARN
Page 50
Page51 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Everyone is welcome
Useful Links
Website
• http://slider.incubator.apache.org/
Dev Mailing Lists
• dev@slider.incubator.apache.org
JIRA
• https://issues.apache.org/jira/browse/SLIDER
Page 51
Page52 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Q/A
http://slider.incubator.apache.org/
Page 52
Page53 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Thank you.
Page 53

More Related Content

What's hot (20)

PPTX
Securing Hadoop with Apache Ranger
DataWorks Summit
 
PPTX
Deploying Docker applications on YARN via Slider
Hortonworks
 
PDF
Hortonworks Technical Workshop - build a yarn ready application with apache ...
Hortonworks
 
PPTX
Hadoop crashcourse v3
Hortonworks
 
PPTX
Protecting enterprise Data in Hadoop
DataWorks Summit
 
PDF
Hp Converged Systems and Hortonworks - Webinar Slides
Hortonworks
 
PDF
Hortonworks tech workshop in-memory processing with spark
Hortonworks
 
PDF
Discover HDP2.1: Apache Storm for Stream Data Processing in Hadoop
Hortonworks
 
PDF
Discover.hdp2.2.h base.final[2]
Hortonworks
 
PPTX
Hortonworks Technical Workshop: HBase For Mission Critical Applications
Hortonworks
 
PPTX
Get Started Building YARN Applications
Hortonworks
 
PPTX
Apache Hadoop YARN: Past, Present and Future
DataWorks Summit
 
PDF
A Comprehensive Approach to Building your Big Data - with Cisco, Hortonworks ...
Hortonworks
 
PDF
Deep learning with Hortonworks and Apache Spark - Hortonworks technical workshop
Hortonworks
 
PPTX
Hadoop and Spark – Perfect Together
Hortonworks
 
PDF
Combine SAS High-Performance Capabilities with Hadoop YARN
Hortonworks
 
PPTX
Apache Ambari - HDP Cluster Upgrades Operational Deep Dive and Troubleshooting
DataWorks Summit/Hadoop Summit
 
PPTX
LLAP: long-lived execution in Hive
DataWorks Summit
 
PPTX
Discover HDP 2.1: Using Apache Ambari to Manage Hadoop Clusters
Hortonworks
 
PPTX
Introduction to the Hortonworks YARN Ready Program
Hortonworks
 
Securing Hadoop with Apache Ranger
DataWorks Summit
 
Deploying Docker applications on YARN via Slider
Hortonworks
 
Hortonworks Technical Workshop - build a yarn ready application with apache ...
Hortonworks
 
Hadoop crashcourse v3
Hortonworks
 
Protecting enterprise Data in Hadoop
DataWorks Summit
 
Hp Converged Systems and Hortonworks - Webinar Slides
Hortonworks
 
Hortonworks tech workshop in-memory processing with spark
Hortonworks
 
Discover HDP2.1: Apache Storm for Stream Data Processing in Hadoop
Hortonworks
 
Discover.hdp2.2.h base.final[2]
Hortonworks
 
Hortonworks Technical Workshop: HBase For Mission Critical Applications
Hortonworks
 
Get Started Building YARN Applications
Hortonworks
 
Apache Hadoop YARN: Past, Present and Future
DataWorks Summit
 
A Comprehensive Approach to Building your Big Data - with Cisco, Hortonworks ...
Hortonworks
 
Deep learning with Hortonworks and Apache Spark - Hortonworks technical workshop
Hortonworks
 
Hadoop and Spark – Perfect Together
Hortonworks
 
Combine SAS High-Performance Capabilities with Hadoop YARN
Hortonworks
 
Apache Ambari - HDP Cluster Upgrades Operational Deep Dive and Troubleshooting
DataWorks Summit/Hadoop Summit
 
LLAP: long-lived execution in Hive
DataWorks Summit
 
Discover HDP 2.1: Using Apache Ambari to Manage Hadoop Clusters
Hortonworks
 
Introduction to the Hortonworks YARN Ready Program
Hortonworks
 

Viewers also liked (15)

PPTX
What's new in Ambari
DataWorks Summit
 
PPTX
Hadoop Operations - Best Practices from the Field
DataWorks Summit
 
PPTX
Rocking the World of Big Data at Centrica
DataWorks Summit/Hadoop Summit
 
PPTX
Overview of Apache Flink: the 4G of Big Data Analytics Frameworks
DataWorks Summit/Hadoop Summit
 
PPTX
Ingest and Stream Processing - What will you choose?
DataWorks Summit/Hadoop Summit
 
PPTX
Apache Tez - A unifying Framework for Hadoop Data Processing
DataWorks Summit
 
PDF
Scaling HDFS to Manage Billions of Files with Key-Value Stores
DataWorks Summit
 
PPTX
June 10 145pm hortonworks_tan & welch_v2
DataWorks Summit
 
PPT
Running Spark in Production
DataWorks Summit/Hadoop Summit
 
PPTX
Internet of Things Crash Course Workshop at Hadoop Summit
DataWorks Summit
 
PPTX
Spark crash course workshop at Hadoop Summit
DataWorks Summit
 
PPTX
YARN and the Docker container runtime
DataWorks Summit/Hadoop Summit
 
PPTX
Hadoop crash course workshop at Hadoop Summit
DataWorks Summit
 
PPTX
Evolution of Big Data at Intel - Crawl, Walk and Run Approach
DataWorks Summit
 
What's new in Ambari
DataWorks Summit
 
Hadoop Operations - Best Practices from the Field
DataWorks Summit
 
Rocking the World of Big Data at Centrica
DataWorks Summit/Hadoop Summit
 
Overview of Apache Flink: the 4G of Big Data Analytics Frameworks
DataWorks Summit/Hadoop Summit
 
Ingest and Stream Processing - What will you choose?
DataWorks Summit/Hadoop Summit
 
Apache Tez - A unifying Framework for Hadoop Data Processing
DataWorks Summit
 
Scaling HDFS to Manage Billions of Files with Key-Value Stores
DataWorks Summit
 
June 10 145pm hortonworks_tan & welch_v2
DataWorks Summit
 
Running Spark in Production
DataWorks Summit/Hadoop Summit
 
Internet of Things Crash Course Workshop at Hadoop Summit
DataWorks Summit
 
Spark crash course workshop at Hadoop Summit
DataWorks Summit
 
YARN and the Docker container runtime
DataWorks Summit/Hadoop Summit
 
Hadoop crash course workshop at Hadoop Summit
DataWorks Summit
 
Evolution of Big Data at Intel - Crawl, Walk and Run Approach
DataWorks Summit
 
Ad

Similar to Authoring and Hosting Applications on YARN using Slider (20)

PPTX
Bring your Service to YARN
DataWorks Summit
 
PPTX
Apache Slider
Shivaji Dutta
 
PPTX
Overview of slider project
Steve Loughran
 
PPTX
October 2014 HUG : Apache Slider
Yahoo Developer Network
 
PPTX
Accumulo Summit 2014: Accumulo on YARN
Accumulo Summit
 
PPTX
Slider: Applications on YARN
Steve Loughran
 
PPTX
Deploying Docker applications on YARN via Slider
Hortonworks
 
PPTX
Hadoop YARN Services
DataWorks Summit
 
PDF
Developing Applications with Hadoop 2.0 and YARN by Abhijit Lele
Hakka Labs
 
PDF
Apache Hadoop YARN - Enabling Next Generation Data Applications
Hortonworks
 
PPTX
Developing YARN Applications - Integrating natively to YARN July 24 2014
Hortonworks
 
PPTX
Running a container cloud on YARN
DataWorks Summit
 
PPTX
Running Services on YARN
DataWorks Summit/Hadoop Summit
 
PPTX
Lessons Learned Running a Container Cloud on Apache Hadoop YARN
Billie Rinaldi
 
PPTX
Lessons learned running a container cloud on YARN
DataWorks Summit
 
PPTX
Hadoop Summit San Jose 2015: YARN - Past, Present and Future
Vinod Kumar Vavilapalli
 
PPTX
YARN - Next Generation Compute Platform fo Hadoop
Hortonworks
 
PPTX
2013 11-19-hoya-status
Steve Loughran
 
PPTX
Hoya for Code Review
Steve Loughran
 
PPTX
Apache Hadoop YARN: Past, Present and Future
DataWorks Summit/Hadoop Summit
 
Bring your Service to YARN
DataWorks Summit
 
Apache Slider
Shivaji Dutta
 
Overview of slider project
Steve Loughran
 
October 2014 HUG : Apache Slider
Yahoo Developer Network
 
Accumulo Summit 2014: Accumulo on YARN
Accumulo Summit
 
Slider: Applications on YARN
Steve Loughran
 
Deploying Docker applications on YARN via Slider
Hortonworks
 
Hadoop YARN Services
DataWorks Summit
 
Developing Applications with Hadoop 2.0 and YARN by Abhijit Lele
Hakka Labs
 
Apache Hadoop YARN - Enabling Next Generation Data Applications
Hortonworks
 
Developing YARN Applications - Integrating natively to YARN July 24 2014
Hortonworks
 
Running a container cloud on YARN
DataWorks Summit
 
Running Services on YARN
DataWorks Summit/Hadoop Summit
 
Lessons Learned Running a Container Cloud on Apache Hadoop YARN
Billie Rinaldi
 
Lessons learned running a container cloud on YARN
DataWorks Summit
 
Hadoop Summit San Jose 2015: YARN - Past, Present and Future
Vinod Kumar Vavilapalli
 
YARN - Next Generation Compute Platform fo Hadoop
Hortonworks
 
2013 11-19-hoya-status
Steve Loughran
 
Hoya for Code Review
Steve Loughran
 
Apache Hadoop YARN: Past, Present and Future
DataWorks Summit/Hadoop Summit
 
Ad

More from DataWorks Summit (20)

PPTX
Data Science Crash Course
DataWorks Summit
 
PPTX
Floating on a RAFT: HBase Durability with Apache Ratis
DataWorks Summit
 
PPTX
Tracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFi
DataWorks Summit
 
PDF
HBase Tales From the Trenches - Short stories about most common HBase operati...
DataWorks Summit
 
PPTX
Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...
DataWorks Summit
 
PPTX
Managing the Dewey Decimal System
DataWorks Summit
 
PPTX
Practical NoSQL: Accumulo's dirlist Example
DataWorks Summit
 
PPTX
HBase Global Indexing to support large-scale data ingestion at Uber
DataWorks Summit
 
PPTX
Scaling Cloud-Scale Translytics Workloads with Omid and Phoenix
DataWorks Summit
 
PPTX
Building the High Speed Cybersecurity Data Pipeline Using Apache NiFi
DataWorks Summit
 
PPTX
Supporting Apache HBase : Troubleshooting and Supportability Improvements
DataWorks Summit
 
PPTX
Security Framework for Multitenant Architecture
DataWorks Summit
 
PDF
Presto: Optimizing Performance of SQL-on-Anything Engine
DataWorks Summit
 
PPTX
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
DataWorks Summit
 
PPTX
Extending Twitter's Data Platform to Google Cloud
DataWorks Summit
 
PPTX
Event-Driven Messaging and Actions using Apache Flink and Apache NiFi
DataWorks Summit
 
PPTX
Securing Data in Hybrid on-premise and Cloud Environments using Apache Ranger
DataWorks Summit
 
PPTX
Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...
DataWorks Summit
 
PDF
Computer Vision: Coming to a Store Near You
DataWorks Summit
 
PPTX
Big Data Genomics: Clustering Billions of DNA Sequences with Apache Spark
DataWorks Summit
 
Data Science Crash Course
DataWorks Summit
 
Floating on a RAFT: HBase Durability with Apache Ratis
DataWorks Summit
 
Tracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFi
DataWorks Summit
 
HBase Tales From the Trenches - Short stories about most common HBase operati...
DataWorks Summit
 
Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...
DataWorks Summit
 
Managing the Dewey Decimal System
DataWorks Summit
 
Practical NoSQL: Accumulo's dirlist Example
DataWorks Summit
 
HBase Global Indexing to support large-scale data ingestion at Uber
DataWorks Summit
 
Scaling Cloud-Scale Translytics Workloads with Omid and Phoenix
DataWorks Summit
 
Building the High Speed Cybersecurity Data Pipeline Using Apache NiFi
DataWorks Summit
 
Supporting Apache HBase : Troubleshooting and Supportability Improvements
DataWorks Summit
 
Security Framework for Multitenant Architecture
DataWorks Summit
 
Presto: Optimizing Performance of SQL-on-Anything Engine
DataWorks Summit
 
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
DataWorks Summit
 
Extending Twitter's Data Platform to Google Cloud
DataWorks Summit
 
Event-Driven Messaging and Actions using Apache Flink and Apache NiFi
DataWorks Summit
 
Securing Data in Hybrid on-premise and Cloud Environments using Apache Ranger
DataWorks Summit
 
Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...
DataWorks Summit
 
Computer Vision: Coming to a Store Near You
DataWorks Summit
 
Big Data Genomics: Clustering Billions of DNA Sequences with Apache Spark
DataWorks Summit
 

Recently uploaded (20)

PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
PDF
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
PDF
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 

Authoring and Hosting Applications on YARN using Slider

  • 1. Page1 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Authoring and Hosting Applications on YARN using Slider June 2015 Sumit Mohanty Jonathan Maron
  • 2. Page2 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Agenda Background Simplified Packaging Application Upgrade Security Enhancements Docker Integration Key Enhancements Conclusion and Q/A Page 2
  • 3. Page3 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Agenda Background Simplified Packaging Application Upgrade Security Enhancements Docker Integration Key Enhancements Conclusion and Q/A Page 3
  • 4. Page4 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Fun operational problems Placement: where to run? Installation Configuration & Binding Client configuration Lifecycle Failure handing and recovery Logging Upgrading Metrics & Monitoring Start/Stop Reconfigure Scale up/down Rolling-restart Decommission/Recommission
  • 5. Page5 © Hortonworks Inc. 2011 – 2015. All Rights Reserved == Getting your code to work across a set of fairly reliable machines
  • 6. Page6 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Apache Slider Deploying and managing applications on a YARN cluster http://slider.incubator.apache.org/
  • 7. Page7 © Hortonworks Inc. 2011 – 2015. All Rights Reserved YARN runs code across the cluster Page 7 HDFS YARN Node Manager HDFS YARN Node Manager HDFS YARN Resource Manager “The RM” HDFS YARN Node Manager • Servers run YARN Node Managers • NM's heartbeat to Resource Manager • RM schedules work over cluster • RM allocates containers to apps • NMs start containers • NMs report container health
  • 8. Page8 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Client creates App Master Page 8 HDFS YARN Node Manager HDFS YARN Node Manager HDFS YARN Resource Manager “The RM” HDFS YARN Node Manager Client Application Master
  • 9. Page9 © Hortonworks Inc. 2011 – 2015. All Rights Reserved AM asks for containers Page 9 HDFS YARN Node Manager HDFS YARN Node Manager HDFS YARN Resource Manager HDFS YARN Node Manager Application Master Container Container Container
  • 10. Page10 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Slider view of an Application An application is a set of components A component is a daemon/launched exe configuration scripts, data files, etc. Component may have one or more instances Component instances are managed By extension, the app instance is Example HBase Application (3 components) • HBase Master • HBase RegionServer • HBase REST service Page 10
  • 11. Page11 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Agenda Background Simplified Packaging Application Upgrade Security Enhancements Docker Integration Key Enhancements Conclusion and Q/A Page 11
  • 12. Page12 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Options A Simple Program Simple Program that Advertises Bring your own binaries A Minimal Application Package Page 12 Goal: Make it simpler to run simple apps
  • 13. Page13 © Hortonworks Inc. 2011 – 2015. All Rights Reserved A Simple Program All dependencies installed Default configuration Well-known endpoints Long running Page 13
  • 14. Page16 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Simple Program that Advertises All dependencies installed Portable – advertises the endpoints Long running Page 16
  • 15. Page20 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Bring your own Binaries Dependencies deployed by the app instance Portable – advertises the endpoints Long running Page 20
  • 16. Page23 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Demo Simplified Application Package
  • 17. Page24 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Application Package Why might I need a package? Easier to share Versioned Default configs Easier to upgrade • admins may install blessed versions May package a client • slider client install --package … --client-config … Page 24 HBase Accumulo Storm Kafka Solr Spark …
  • 18. Page25 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Minimal Application Package Package content Page 25 Archive: jmemcached-1.0.0.zip Length Date Time Name --------- ---------- ----- ---- 472 02-26-2015 02:49 appConfig-default.json 2029 11-23-2014 14:11 metainfo.xml 0 08-27-2014 20:54 package/ 0 01-09-2015 01:34 package/files/ 118272 01-09-2015 01:33 package/files/jmemcached-1.0.0.tar 0 11-23-2014 14:11 package/scripts/ 1659 11-23-2014 14:11 package/scripts/memcached.py 1346 11-23-2014 14:11 package/scripts/params.py 1823 11-23-2014 14:11 README.txt 280 11-23-2014 14:11 resources-default.json 1100 02-26-2015 02:59 metainfo.json --------- ------- 126981 11 files
  • 19. Page26 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Agenda Background Simplified Packaging Application Upgrade Security Enhancements Docker Integration Key Enhancements Conclusion and Q/A Page 26
  • 20. Page27 © Hortonworks Inc. 2011 – 2015. All Rights Reserved YARN Containers with Slider (recap) Page 27 YARN Node Manager Component (container)AppMaster (container) YARN Node Manager HDFS Slider Agent Application Slider AppMaster Slider Client HDFS HDFS YARN Resource Manager
  • 21. Page28 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Upgrade Considerations YARN Core Slider apps run uninterrupted Slider Client Backwards compatible Slider App Master Applications started prior to YARN core upgrade/downgrade continue to run with same core libraries App Master upgrade requires app restart with newer client Page 28
  • 22. Page29 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Slider Application Upgrades Slider supports application rolling upgrade Upgrade to a newer version of application binary and/or configuration, without downtime Application owner orchestrates the upgrade Sufficient “slaves” should be running to handle the load at the time of the upgrade Ensure the application is compatible in a mixed version mode Validate application health at important touch points Perform downgrade at the earliest detection of anomaly App Author Pre-upgrade hook for simple housekeeping tasks (optional) Page 29
  • 23. Page30 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Application Upgrade Steps Page 30 Create an app: $ slider create hbase_demo --resources resources_v1.0.json -–template appConfig_v1.0.json $ slider list hbase_demo --containers Provide Upgrade spec: $ slider upgrade hbase_demo --resources resources_v2.0.json --template appConfig_v2.0.json $ slider list hbase_demo --containers Upgrade components/containers: $ slider upgrade hbase_demo --components HBASE_MASTER $ slider upgrade hbase_demo --containers container_000002 $ slider list hbase_demo --containers
  • 24. Page31 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Demo Rolling Upgrade
  • 25. Page32 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Minimal Upgrade diff appConfig_v1.0.json appConfig_v2.0.json Page 32 < "application.def": ".slider/package/HBASE/0.98.4.2.2.0.0-2041/slider-hbase-app-package-0.98.4.2.2.0.0-2041- hadoop2.zip", --- > "application.def": ".slider/package/HBASE/1.1.0.2.3.0.0-2245/slider-hbase-app-package-1.1.0.2.3.0.0-2245.zip", < "site.global.app_version": "0.98.4.2.2.0.0-2041", < "site.global.app_root": "${AGENT_WORK_ROOT}/app/install/hbase-0.98.4.2.2.0.0-2041-hadoop2", --- > "site.global.app_version": "1.1.0.2.3.0.0-2245", > "site.global.app_root": "${AGENT_WORK_ROOT}/app/install/hbase-1.1.0.2.3.0.0-2245",
  • 26. Page33 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Agenda Background Simplified Packaging Application Upgrade Security Enhancements Docker Integration Key Enhancements Conclusion and Q/A Page 33
  • 27. Page34 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Security Applications validated to work in Kerberos secured cluster Secure application created and keytabs available to application components Security parameters specified in application configuration User obtains TGT (kinit) prior to Slider application creation E.g. HBase 0.98.4 Agent-AM SSL communication One-Way by default Two-Way can be enabled Page 34
  • 28. Page35 © Hortonworks Inc. 2011 – 2015. All Rights Reserved New Security Features Application Keytabs Slider distribution • Keytabs installed into pre-defined location in HDFS can be localized by Slider Manual distribution Application certificate store creation and distribution Application specifies need for keystore and/or truststore Generated stores localized to standard locations on container hosts Page 35
  • 29. Page36 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Agenda Background Simplified Packaging Application Upgrade Security Enhancements Docker Integration Key Enhancements Conclusion and Q/A Page 36
  • 30. Page37 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Slider: current architecture 1. CLI 2. AppMaster 3. AgentProvider 4. SliderAgent 5. Docker containers Slider App config files YARN Resource Manager “The RM” YARN Node Manager Slider Agent YARN Node Manager Slider Agent Application Docker container Slider Application Master Slider CLI Docker daemon Docker daemon Application Docker container
  • 31. Page38 © Hortonworks Inc. 2011 – 2015. All Rights Reserved On-boarding Dockerized Application on YARN via Slider • Application definition – metainfo.json (contains docker image name) • Application instance configuration (if any) – app_config.json • Application resource definition – resources.json No Application bundle and lifecycle scripts Page 38
  • 32. Page39 © Hortonworks Inc. 2011 – 2015. All Rights Reserved metainfo.json – structure of the application { "schemaVersion": "2.1", "application": { "name": "NODEJS-REDIS", "components": [ { "name": "NODEJS", "type": "docker", "dockerContainers": [ { "name": "nodejs”, "image": "rsahahw/centos-node-redis”, "ports": [{"containerPort" : "8000” }] } ] }, { "name": "REDIS", "type": "docker", "dockerContainers": [ { "name": "redis", "image": "tutum/redis", "ports": [{ "containerPort" : "6379", "hostPort": "6379” ...
  • 33. Page40 © Hortonworks Inc. 2011 – 2015. All Rights Reserved resources.json – resource requirement of the application { "schema" : "http://example.org/specification/v2.0.0", "metadata" : { }, "global" : { }, "components": { "NODEJS": { "yarn.role.priority": "1", "yarn.component.instances": "1", "yarn.memory": "512" }, "REDIS": { "yarn.role.priority": "2", "yarn.component.instances": "1", "yarn.memory": "512" } } }
  • 34. Page41 © Hortonworks Inc. 2011 – 2015. All Rights Reserved app_config.json – instance specific configuration of the application { "schema": "http://example.org/specification/v2.0.0", "metadata": { }, "global": { }, "components": { "NODEJS": { "nodejs.options":"-d -e REDIS_HOST=${REDIS_HOST}", "nodejs.statusCommand": "/usr/bin/docker exec ${CONTAINER_ID} ps aux | grep redis-server" }, "REDIS": { "redis.options":"-d -e REDIS_PASS=**None**", "redis.statusCommand": "docker exec ${CONTAINER_ID} ps aux | grep redis-server" } } }
  • 35. Page42 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Commands: create, start, stop, destroy $ slider create dockerapp1 --resources resources.json -–template appConfig.json -–metainfo metainfo.json $ slider list $ slider stop dockerapp1 $ slider destroy dockerapp1
  • 36. Page43 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Demo Dockerized node.js app using dockerized redis for persistence
  • 37. Page44 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Agenda Background Simplified Packaging Application Upgrade Security Enhancements Docker Integration Key Enhancements Conclusion and Q/A Page 44
  • 38. Page45 © Hortonworks Inc. 2011 – 2015. All Rights Reserved  Labelled nodes & queues  Log aggregation  Container retention over Application Master restart  Service registration & discovery  Kerberos token renewal  Windowed Application failure tracking YARN Enhancements (Hadoop 2.6+) —essential for all long-lived YARN services
  • 39. Page46 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Service Registration and Discovery (YARN-913) Core part of Hadoop 2.6 Registration & discovery of static & dynamic services Slider Find and communicate with AM (client) AM-agent binding Publication of REST/IPC endpoints for deployed apps Configuration files Page 46
  • 40. Page47 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Node Labels Leveraged by slider to map components to labels Page 47
  • 41. Page48 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Placement/Escalation Long lived processes May be willing to wait for an extended period to come up on the same node • E.g. if a server has crashed and is rebooting, or is down for a quick hardware fix Ultimately giving up is ok • Can recover Unreliability measured by failures in a recent time period Page 48
  • 42. Page49 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Placement/Escalation Approach ‘Escalation’ - allow for extended periods to wait before relaxing placement Minutes rather than seconds Role & node failures designate, respectively, if an app is failing or a node is unreliable Reset on a regular, schedule basis (tunable) Node reliability tracking Node failure counts do not include • node-independent failures – E.g. container memory limits exceeded • pre-emption events Component role failure counters don't count node failures or pre-emption Untrusted nodes not asked for containers even if that node is the previous location container ran Exception: If placement policy is designated as ‘strict’ there is no escalation Page 49
  • 43. Page50 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Join in: Bring your favorite Applications to YARN Page 50
  • 44. Page51 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Everyone is welcome Useful Links Website • http://slider.incubator.apache.org/ Dev Mailing Lists • [email protected] JIRA • https://issues.apache.org/jira/browse/SLIDER Page 51
  • 45. Page52 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Q/A http://slider.incubator.apache.org/ Page 52
  • 46. Page53 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Thank you. Page 53