SlideShare uma empresa Scribd logo
1 de 53
Baixar para ler offline
© Hortonworks Inc. 2015
Build a YARN Ready
Application with Apache Slider
February 2015
Agenda
Introduction to Slider Steve Loughran
Authoring Application Packages Sumit Mohanty
Secure HBase deployment Jon Maron
Page 2
© Hortonworks Inc. 2015
Introduction to Slider
Steve Loughran
© Hortonworks Inc. 2015
log
Background: Modern applications
front end
web
phones
devices
feeds log
stream
processing
front end
front end
log
database
analytics
© Hortonworks Inc. 2015
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
© Hortonworks Inc. 2015
Getting your code to work across a set
of fairly reliable machines
© Hortonworks Inc. 2015
Apache Slider
Deploying and managing
applications on Apache Hadoop YARN
http://slider.incubator.apache.org/
© Hortonworks Inc. 2015
HDFS
YARN Node Manager
HDFS
YARN Node Manager
HDFS
YARN Resource Manager
“The RM”
HDFS
YARN Node Manager
•  Servers run YARN Node Managers (NM)
•  NM's heartbeat to Resource Manager (RM)
•  RM schedules work over cluster
•  RM allocates containers to apps
•  NMs start containers
•  NMs report container health
YARN schedules work
© Hortonworks Inc. 2015
Client creates Slider App Master
HDFS
YARN Node Manager
HDFS
YARN Node Manager
HDFS
YARN Resource Manager
“The RM”
HDFS
YARN Node Manager
Client
Slider Application Master
© Hortonworks Inc. 2015
Slider App Master runs the application
HDFS
YARN Node Manager
HDFS
YARN Node Manager
HDFS
YARN Resource Manager
HDFS
YARN Node Manager
Slider Application Master
HBase Master
HBase Region Server
HBase Region Server
© Hortonworks Inc.
An application consists of
“Application Package”
JSON configuration files: YARN resources + config
Data persisted in HDFS
Placement history in HDFS
Page 11
© Hortonworks Inc
resources.json
{	
  
	
  	
  "schema":	
  "http://example.org/specification/v2.0.0",	
  
	
  	
  "global":	
  {	
  
	
  	
  	
  	
  	
  "yarn.memory":	
  "512"	
  
	
  	
  },	
  
	
  	
  "components":	
  {	
  
	
  	
  	
  	
  "HBASE_MASTER":	
  {	
  
	
  	
  	
  	
  	
  	
  "yarn.role.priority":	
  "1",	
  
	
  	
  	
  	
  	
  	
  "yarn.component.instances":	
  "1",	
  
	
  	
  	
  	
  	
  	
  "yarn.vcores":	
  "1",	
  
	
  	
  	
  	
  },	
  
	
  	
  	
  	
  "HBASE_REGIONSERVER":	
  {	
  
	
  	
  	
  	
  	
  	
  "yarn.role.priority":	
  "2",	
  
	
  	
  	
  	
  	
  	
  "yarn.component.instances":	
  "1"	
  
	
  	
  	
  	
  }	
  
	
  	
  }	
  
	
  }	
  
	
  
configure: app_config.json
{	
  
	
  	
  	
  	
  "application.def":	
  "/slider/hbase_v096.zip",	
  
	
  
	
  	
  	
  	
  "site.global.app_log_dir":	
  "${AGENT_LOG_ROOT}/app/log",	
  
	
  	
  	
  	
  "site.global.app_pid_dir":	
  "${AGENT_WORK_ROOT}/app/run",	
  
	
  
	
  	
  	
  	
  "site.global.hbase_master_heapsize":	
  "1024m",	
  
	
  	
  	
  	
  "site.global.ganglia_server_host":	
  "${NN_HOST}",	
  
	
  	
  	
  	
  "site.global.ganglia_server_port":	
  "8667",	
  
	
  	
  	
  	
  "site.global.ganglia_server_id":	
  "Application1",	
  
	
  
	
  	
  	
  	
  "site.hbase-­‐site.hbase.tmp.dir":	
  "${AGENT_WORK_ROOT}/work/app/tmp",	
  
	
  	
  	
  	
  "site.hbase-­‐site.hbase.master.info.port":	
  "${HBASE_MASTER.ALLOCATED_PORT}",	
  
	
  	
  	
  	
  "site.hbase-­‐site.hbase.regionserver.port":	
  "0",	
  
	
  	
  	
  	
  "site.hbase-­‐site.hbase.zookeeper.quorum":	
  "${ZK_HOST}",	
  
	
  
	
  	
  	
  	
  "site.core-­‐site.fs.defaultFS":	
  "${NN_URI}",	
  
}	
  
Configurations needed by
Slider
Named variables
Site variables for
application
Named variables
for cluster details
Allocate and
advertise
Variables for the
application scripts
© Hortonworks Inc
create, start, stop, destroy
$	
  slider	
  create	
  hbase1	
  -­‐-­‐resources	
  resources.json	
  -­‐-­‐template	
  config.json	
  	
  
	
  
$	
  slider	
  list	
  
	
  
$	
  slider	
  status	
  hbase1	
  
	
  
$	
  slider	
  stop	
  hbase1	
  
	
  
$	
  slider	
  start	
  hbase1	
  
	
  
$	
  slider	
  destroy	
  hbase1	
  
© Hortonworks Inc. 2015
Dynamic application resize
slider	
  flex	
  hbase1	
  
	
  	
  -­‐-­‐component	
  HBASE_REGIONSERVER	
  2	
  
© Hortonworks Inc. 2015
Failures
HDFS
YARN Node Manager
HDFS
YARN Node Manager
HDFS
YARN Resource Manager
HDFS
YARN Node Manager
Slider App Master
HBase Master
HBase Region Server
HBase Region Server
© Hortonworks Inc. 2015
YARN notifies AM
HDFS
YARN Node Manager
HDFS
YARN Node Manager
HDFS
YARN Resource Manager
HDFS
YARN Node Manager
Slider App Master
HBase Master
HBase Region Server
© Hortonworks Inc. 2015
AM requests replacement
HDFS
YARN Node Manager
HDFS
YARN Node Manager
HDFS
YARN Resource Manager
HDFS
YARN Node Manager
Slider App Master
HBase Master
HBase Region Server
HBase Region Server
© Hortonworks Inc. 2015
Slider View for Apache
Ambari
http://ambari.apache.org/
© Hortonworks Inc.
Project Status
• In ASF incubation
• 0.70-incubating release this month
• Growing set of application packages
• Working in simplifying packaging
• HDP 2.2 added long-lived service support for Slider and
other services
© Hortonworks Inc. 2015
ü  Labelled nodes & queues
ü  Log aggregation
ü  Container retention over Application Master restart
ü  Service registration & discovery
ü  Kerberos token renewal
ü  Windowed Application failure tracking
HDP2.2 features for Slider
—essential for all long-lived YARN services
© Hortonworks Inc. 2015
http://slider.incubator.apache.org/
© Hortonworks Inc 2015
Meetup March 4
http://www.meetup.com/HSquared-Hadoop-
Hortonworks-User-Group/events/220422211/
Page 26
© Hortonworks Inc. 2015
Authoring Applications
Sumit Mohanty
smohanty at hortonworks.com
Feb 25, 2015
© Hortonworks Inc.
Agenda
• A Simple Program
• Simple Program that Advertises
• Bring your own binaries
• A Minimal Application Package
Page 28
© Hortonworks Inc.
A Simple Program
Page 29
• All dependencies installed
• Default configuration
• Well-known endpoints
• Long running
© Hortonworks Inc.
A Simple Program : Recap
Page 30
• create	
  
– slider	
  create	
  memcachedmin	
  -­‐-­‐metainfo	
  metainfo.json	
  
-­‐-­‐resources	
  resources.json	
  
• metainfo:	
  
	
  {	
  
	
  	
  	
  	
  "schemaVersion":	
  "2.1",	
  
	
  	
  	
  	
  "application":	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  "name":	
  "MEMCACHED",	
  
	
  	
  	
  	
  	
  	
  	
  	
  "components":	
  [	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "name":	
  "MEMCACHED",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "commands":	
  [	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "exec":	
  "/usr/jdk64/jdk1.7.0_67/bin/java	
  …",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "name":	
  "START",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "type":	
  "SHELL",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ...	
  
© Hortonworks Inc.
A Simple Program : Recap
Page 31
• resources:	
  
	
  {	
  
	
  	
  "schema"	
  :	
  "http://example.org/specification/v2.0.0",	
  
	
  	
  "metadata"	
  :	
  {	
  
	
  	
  },	
  
	
  	
  "global"	
  :	
  {	
  
	
  	
  },	
  
	
  	
  "components":	
  {	
  
	
  	
  	
  	
  "MEMCACHED":	
  {	
  
	
  	
  	
  	
  	
  	
  "yarn.role.priority":	
  "1",	
  
	
  	
  	
  	
  	
  	
  "yarn.component.instances":	
  "1",	
  
	
  	
  	
  	
  	
  	
  "yarn.memory":	
  "256"	
  
	
  	
  	
  	
  }	
  
	
  	
  }	
  
}	
  
© Hortonworks Inc.
Simple Program that Advertises
Page 32
• All dependencies installed
• Portable – advertises the endpoints
• Long running
© Hortonworks Inc.
Simple Program that Advertises : Recap
Page 33
• command	
  
– slider	
  create	
  memcachedexp	
  -­‐-­‐metainfo	
  metainfo.json	
  
-­‐-­‐resources	
  resources.json	
  -­‐-­‐template	
  appConfig.json	
  
• metainfo:	
  
	
  	
  	
  	
  	
  "application":	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  "name":	
  "MEMCACHED",	
  
	
  	
  	
  	
  	
  	
  	
  	
  "exportGroups":	
  [	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "name":	
  "Servers",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "exports":	
  [	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "name":	
  "host_port",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "value":	
  "${MEMCACHED_HOST}:${site.global.port}”	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ...,	
  
	
  	
  	
  	
  	
  	
  	
  	
  "components":	
  [	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "compExports":	
  "Servers-­‐host_port",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "exec":	
  "...	
  -­‐-­‐port={$conf:@//site/global/port}",	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
© Hortonworks Inc.
Simple Program that Advertises : Recap
Page 34
• appConfig	
  
	
  
{	
  
	
  	
  "schema":	
  "http://example.org/specification/v2.0.0",	
  
	
  	
  "metadata":	
  {	
  
	
  	
  },	
  
	
  	
  "global":	
  {	
  
	
  	
  	
  	
  "site.global.port":	
  "${MEMCACHED.ALLOCATED_PORT}{PER_CONTAINER}”	
  
	
  	
  }	
  
}	
  
© Hortonworks Inc.
Simple Program that Advertises : Recap
Page 35
• from	
  registry	
  
	
  
http://RM-­‐HOST:8088/proxy/app_id/ws/v1/slider/publisher/exports/servers	
  
{	
  
	
  	
  	
  	
  "description":	
  "Servers",	
  
	
  	
  	
  	
  "updatedTime":	
  "Thu	
  Feb	
  26	
  06:11:49	
  UTC	
  2015",	
  
	
  	
  	
  	
  "entries":	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "host_port":	
  [	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "value":	
  "c6403.ambari.apache.org:43292",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "containerId":	
  "container_1424910595794_0008_01_000002",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "tag":	
  "1",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "level":	
  "component",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "updatedTime":	
  "Thu	
  Feb	
  26	
  06:11:49	
  UTC	
  2015"	
  
...	
  
© Hortonworks Inc.
Bring your own Binaries
Page 36
• Dependencies deployed by the app instance
• Portable – advertises the endpoints
• Long running
© Hortonworks Inc.
Bring your own Binaries: Recap
Page 37
• command	
  
– slider	
  create	
  memcachedjar	
  –appdef	
  /usr/work/memcached-­‐jar	
  
-­‐-­‐resources	
  resources.json	
  -­‐-­‐template	
  appConfig.json	
  
• metainfo:	
  
	
  	
  	
  	
  	
  "application":	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  "name":	
  "MEMCACHED",	
  
	
  	
  	
  	
  	
  	
  	
  	
  "exportGroups":	
  [...],	
  
	
  	
  	
  	
  	
  	
  	
  	
  "components":	
  [	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "exec":	
  "java	
  -­‐classpath	
  {$conf:@//site/global/app_root}/*:..."	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ...,	
  
	
  	
  	
  	
  	
  	
  	
  	
  "packages":	
  [	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "type":	
  "folder",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "name":	
  "files/jmemcached-­‐1.0.0"	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  	
  	
  	
  	
  ]	
  
...	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
© Hortonworks Inc.
Bring your own Binaries: Recap
Page 38
• folder	
  contents:	
  
–  ./package	
  
–  ./package/files	
  
–  ./package/files/jmemcached-­‐1.0.0	
  
–  ./package/files/jmemcached-­‐1.0.0/jmemcached-­‐cli-­‐1.0.0.jar	
  
–  ./package/files/jmemcached-­‐1.0.0/jmemcached-­‐core-­‐1.0.0.jar	
  
–  ./metainfo.json	
  
	
  
	
  
© Hortonworks Inc.
Minimal Application Package
Page 39
• 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 …
© Hortonworks Inc.
Minimal Application Package: Recap
Page 40
• Package content
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	
  
© Hortonworks Inc. 2015
Secure Hbase Deployment
Jonathan Maron
jmaron at hortonworks.com
2015
© Hortonworks Inc.
Agenda
• HBase Application Package
• Application Deployment
• Secure Deployment
• Application Management
• Demo
• Debugging/Diagnosis
• Q&A
Page 42
© Hortonworks Inc.
HBase Application Package - Structure
Page 43
appConfig-default.json
appConfig-secured-default.json
metainfo.xml
package/files/hbase-0.98.4.2.2.1.0-2085-hadoop2.tar.gz
jmx_metrics.json
package/templates/...
package/scripts/. . .
resources-default.json
ganglia_metrics.json
get-hbase-site.sh
get-hbase-site.py
© Hortonworks Inc.
HBase Application Package - metainfo
Page 44
<metainfo>
<schemaVersion>2.0</schemaVersion>
<application>
<name>HBASE</name>
<version>0.98.4.2.2.1.0-2085-hadoop2</version>
<type>YARN-APP</type>
<minHadoopVersion>2.1.0</minHadoopVersion>
<exportedConfigs>hbase-site</exportedConfigs>
<exportGroups>
<exportGroup>
<name>QuickLinks</name>
<exports>
<export>
<name>org.apache.slider.jmx</name>
<value>http://${HBASE_MASTER_HOST}:${site.hbase-site.hbase.master.info.port}/jmx</value>
</export>
. . .
</exports>
</exportGroup>
</exportGroups>
<components>
<component>
<name>HBASE_MASTER</name>
<category>MASTER</category>
<minInstanceCount>1</minInstanceCount>
<appExports>QuickLinks-org.apache.slider.jmx</appExports>
<componentExports>
<componentExport>
<name>org.apache.slider.jmx</name>
<value>${THIS_HOST}:${site.hbase-site.hbase.master.info.port}/jmx</value>
</componentExport>
</componentExports>
<commandScript>
<script>scripts/hbase_master.py</script>
<scriptType>PYTHON</scriptType>
<timeout>600</timeout>
</commandScript>
</component>
. . .
</components>
<configFiles>
<configFile>
<type>xml</type>
<fileName>hbase-site.xml</fileName>
<dictionaryName>hbase-site</dictionaryName>
</configFile>
. . .
</configFiles>
</application>
</metainfo>
© Hortonworks Inc.
HBase Application Package - Configuration
Page 45
{
"schema": "http://example.org/specification/v2.0.0",
"metadata": {
},
"global": {
"application.def": ".slider/package/HBASE/slider-hbase-app-package-0.98.4.2.2.1.0-2085-hadoop2.zip",
"create.default.zookeeper.node": "true",
"java_home": "/usr/jdk64/jdk1.7.0_67",
"system_configs": "core-site,hdfs-site",
"site.global.app_user": "${USER}",
"site.global.app_root": "${AGENT_WORK_ROOT}/app/install/hbase-0.98.4.2.2.1.0-2085-hadoop2",
. . .
"site.hbase-site.hbase.security.authentication": "kerberos",
"site.hbase-site.hbase.security.authorization": "true",
"site.hbase-site.hbase.security.access.early_out": "true",
"site.hbase-site.hbase.coprocessor.master.classes": ”. . .",
"site.hbase-site.hbase.coprocessor.region.classes": ”. . .",
"site.hbase-site.hbase.regionserver.kerberos.principal": "${USER}/_HOST@EXAMPLE.COM",
"site.hbase-site.hbase.regionserver.keytab.file": "/etc/security/keytabs/hbase.keytab",
"site.hbase-site.hbase.master.kerberos.principal": "${USER}/_HOST@EXAMPLE.COM",
"site.hbase-site.hbase.master.keytab.file": "/etc/security/keytabs/hbase.keytab",
"site.hbase-site.hbase.rest.kerberos.principal": "${USER}/_HOST@EXAMPLE.COM",
"site.hbase-site.hbase.rest.keytab.file": "/etc/security/keytabs/hbase.keytab",
"site.hbase-site.hbase.thrift.kerberos.principal": "${USER}/_HOST@EXAMPLE.COM",
"site.hbase-site.hbase.thrift.keytab.file": "/etc/security/keytabs/hbase.keytab",
"site.hbase-site.hbase.master.keystore.password": "myPasswordForTheKeystore",
"site.hbase-site.hbase.regionserver.truststore.password": "myPasswordForTheTruststore"
},
"components": {
"slider-appmaster": {
"jvm.heapsize": "1024M",
"slider.hdfs.keytab.dir": ".slider/keytabs/hbase",
"slider.am.login.keytab.name": "hbase.headless.keytab",
"slider.keytab.principal.name": "hbase"
}
}
}
© Hortonworks Inc.
Application Deployment - CLI
• Package Installation
– slider package –install –package package.zip –name HBASE
• Application creation
– slider create myApp –template appConfig.json –resources
resources.json
Page 46
© Hortonworks Inc.
Secure Deployment
•  Login as application owner
•  Keytab required for application owner
–  E.g. hbase.headless.keytab
–  Referenced by configuration properties:
–  Manually distributed
–  Configuration:
-  slider.am.keytab.local.path
-  slider.keytab.principal.name
–  Application keytab properties reference the local path on NM hosts
–  Distributed by Slider
–  Configuration:
-  slider.hdfs.keytab.dir
-  slider.am.login.keytab.name
-  slider.keytab.principal.name
–  Application keytab properties reference the localization path on NM hosts
-  E.g. “${AGENT_WORK_ROOT}/keytabs/hbase.service.keytab”
•  More information at http://slider.incubator.apache.org/docs/security.html
–  Keystore/Truststore generation
Page 47
© Hortonworks Inc.
Application Management
• Flex
– Increase or decrease number of application component instances
• Stop
– Halt an application instance
• Start
– Start an instance of a defined application
• Destroy
– Remove an application definition
Page 48
© Hortonworks Inc.
Demo
• Application Package Contents
• Cluster description
• Review security setup
– Login
– Keytab availability
• Install package
• Deploy Application
• Flex
• Stop
• Destroy
Page 49
© Hortonworks Inc.
Debugging/Diagnosis
• Log aggregation
– Provides a mechanism for retrieving all log files associated with
application instance
– yarn logs –applicationId <application ID>
• Other mechanisms to leverage are provided on Slider
incubator web site
– http://slider.incubator.apache.org/developing/debugging.html
Page 50
© Hortonworks Inc.
Additional Information
• Meetup
– Long Running Services on YARN Using Slider
– Wednesday, March 4th, 6:30 to 8:30 PM @ HWX HQ
– http://www.meetup.com/HSquared-Hadoop-Hortonworks-User-
Group/events/220422211/
• http://slider.incubator.apache.org/index.html
Page 51
© Hortonworks Inc 2015
Questions?
hortonworks.com
Page 52
© Hortonworks Inc 2015
Meetup March 4
http://www.meetup.com/HSquared-Hadoop-
Hortonworks-User-Group/events/220422211/
Page 53

Mais conteúdo relacionado

Mais procurados

Combine SAS High-Performance Capabilities with Hadoop YARN
Combine SAS High-Performance Capabilities with Hadoop YARNCombine SAS High-Performance Capabilities with Hadoop YARN
Combine SAS High-Performance Capabilities with Hadoop YARN
Hortonworks
 
Hadoop first ETL on Apache Falcon
Hadoop first ETL on Apache FalconHadoop first ETL on Apache Falcon
Hadoop first ETL on Apache Falcon
DataWorks Summit
 

Mais procurados (20)

Internet of things Crash Course Workshop
Internet of things Crash Course WorkshopInternet of things Crash Course Workshop
Internet of things Crash Course Workshop
 
Hortonworks Technical Workshop: What's New in HDP 2.3
Hortonworks Technical Workshop: What's New in HDP 2.3Hortonworks Technical Workshop: What's New in HDP 2.3
Hortonworks Technical Workshop: What's New in HDP 2.3
 
Combine SAS High-Performance Capabilities with Hadoop YARN
Combine SAS High-Performance Capabilities with Hadoop YARNCombine SAS High-Performance Capabilities with Hadoop YARN
Combine SAS High-Performance Capabilities with Hadoop YARN
 
Hortonworks tech workshop in-memory processing with spark
Hortonworks tech workshop   in-memory processing with sparkHortonworks tech workshop   in-memory processing with spark
Hortonworks tech workshop in-memory processing with spark
 
Discover HDP 2.1: Apache Solr for Hadoop Search
Discover HDP 2.1: Apache Solr for Hadoop SearchDiscover HDP 2.1: Apache Solr for Hadoop Search
Discover HDP 2.1: Apache Solr for Hadoop Search
 
Hortonworks Technical Workshop - Operational Best Practices Workshop
Hortonworks Technical Workshop - Operational Best Practices WorkshopHortonworks Technical Workshop - Operational Best Practices Workshop
Hortonworks Technical Workshop - Operational Best Practices Workshop
 
Discover Red Hat and Apache Hadoop for the Modern Data Architecture - Part 3
Discover Red Hat and Apache Hadoop for the Modern Data Architecture - Part 3Discover Red Hat and Apache Hadoop for the Modern Data Architecture - Part 3
Discover Red Hat and Apache Hadoop for the Modern Data Architecture - Part 3
 
Discover HDP 2.1: Interactive SQL Query in Hadoop with Apache Hive
Discover HDP 2.1: Interactive SQL Query in Hadoop with Apache HiveDiscover HDP 2.1: Interactive SQL Query in Hadoop with Apache Hive
Discover HDP 2.1: Interactive SQL Query in Hadoop with Apache Hive
 
Apache Ambari: Managing Hadoop and YARN
Apache Ambari: Managing Hadoop and YARNApache Ambari: Managing Hadoop and YARN
Apache Ambari: Managing Hadoop and YARN
 
Deploying Docker applications on YARN via Slider
Deploying Docker applications on YARN via SliderDeploying Docker applications on YARN via Slider
Deploying Docker applications on YARN via Slider
 
Authoring and Hosting Applications on YARN using Slider
Authoring and Hosting Applications on YARN using SliderAuthoring and Hosting Applications on YARN using Slider
Authoring and Hosting Applications on YARN using Slider
 
Discover HDP 2.1: Apache Hadoop 2.4.0, YARN & HDFS
Discover HDP 2.1: Apache Hadoop 2.4.0, YARN & HDFSDiscover HDP 2.1: Apache Hadoop 2.4.0, YARN & HDFS
Discover HDP 2.1: Apache Hadoop 2.4.0, YARN & HDFS
 
Hadoop first ETL on Apache Falcon
Hadoop first ETL on Apache FalconHadoop first ETL on Apache Falcon
Hadoop first ETL on Apache Falcon
 
Hp Converged Systems and Hortonworks - Webinar Slides
Hp Converged Systems and Hortonworks - Webinar SlidesHp Converged Systems and Hortonworks - Webinar Slides
Hp Converged Systems and Hortonworks - Webinar Slides
 
Supporting Financial Services with a More Flexible Approach to Big Data
Supporting Financial Services with a More Flexible Approach to Big DataSupporting Financial Services with a More Flexible Approach to Big Data
Supporting Financial Services with a More Flexible Approach to Big Data
 
Hadoop crashcourse v3
Hadoop crashcourse v3Hadoop crashcourse v3
Hadoop crashcourse v3
 
A Comprehensive Approach to Building your Big Data - with Cisco, Hortonworks ...
A Comprehensive Approach to Building your Big Data - with Cisco, Hortonworks ...A Comprehensive Approach to Building your Big Data - with Cisco, Hortonworks ...
A Comprehensive Approach to Building your Big Data - with Cisco, Hortonworks ...
 
Don't Let Security Be The 'Elephant in the Room'
Don't Let Security Be The 'Elephant in the Room'Don't Let Security Be The 'Elephant in the Room'
Don't Let Security Be The 'Elephant in the Room'
 
Predictive Analytics and Machine Learning …with SAS and Apache Hadoop
Predictive Analytics and Machine Learning…with SAS and Apache HadoopPredictive Analytics and Machine Learning…with SAS and Apache Hadoop
Predictive Analytics and Machine Learning …with SAS and Apache Hadoop
 
Splunk-hortonworks-risk-management-oct-2014
Splunk-hortonworks-risk-management-oct-2014Splunk-hortonworks-risk-management-oct-2014
Splunk-hortonworks-risk-management-oct-2014
 

Semelhante a Hortonworks Technical Workshop - build a yarn ready application with apache slider feb. 26 - 2015.pptx

MesosCon - Be a microservices hero
MesosCon - Be a microservices heroMesosCon - Be a microservices hero
MesosCon - Be a microservices hero
Dragos Dascalita Haut
 
Bring your Service to YARN
Bring your Service to YARNBring your Service to YARN
Bring your Service to YARN
DataWorks Summit
 

Semelhante a Hortonworks Technical Workshop - build a yarn ready application with apache slider feb. 26 - 2015.pptx (20)

Deploying Docker applications on YARN via Slider
Deploying Docker applications on YARN via SliderDeploying Docker applications on YARN via Slider
Deploying Docker applications on YARN via Slider
 
October 2014 HUG : Apache Slider
October 2014 HUG : Apache SliderOctober 2014 HUG : Apache Slider
October 2014 HUG : Apache Slider
 
Slider: Applications on YARN
Slider: Applications on YARNSlider: Applications on YARN
Slider: Applications on YARN
 
Containerdays Intro to Habitat
Containerdays Intro to HabitatContainerdays Intro to Habitat
Containerdays Intro to Habitat
 
Apache cordova
Apache cordovaApache cordova
Apache cordova
 
MesosCon - Be a microservices hero
MesosCon - Be a microservices heroMesosCon - Be a microservices hero
MesosCon - Be a microservices hero
 
Introduction to node js - From "hello world" to deploying on azure
Introduction to node js - From "hello world" to deploying on azureIntroduction to node js - From "hello world" to deploying on azure
Introduction to node js - From "hello world" to deploying on azure
 
Introduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to ChefIntroduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to Chef
 
Session: A Reference Architecture for Running Modern APIs with NGINX Unit and...
Session: A Reference Architecture for Running Modern APIs with NGINX Unit and...Session: A Reference Architecture for Running Modern APIs with NGINX Unit and...
Session: A Reference Architecture for Running Modern APIs with NGINX Unit and...
 
Rock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsRock Solid Deployment of Web Applications
Rock Solid Deployment of Web Applications
 
Building Your First Apache Apex Application
Building Your First Apache Apex ApplicationBuilding Your First Apache Apex Application
Building Your First Apache Apex Application
 
Building your first aplication using Apache Apex
Building your first aplication using Apache ApexBuilding your first aplication using Apache Apex
Building your first aplication using Apache Apex
 
Apache Ambari BOF - APIs - Hadoop Summit 2013
Apache Ambari BOF - APIs - Hadoop Summit 2013Apache Ambari BOF - APIs - Hadoop Summit 2013
Apache Ambari BOF - APIs - Hadoop Summit 2013
 
Big Data Day LA 2015 - What's new and next in Apache Tez by Bikas Saha of Hor...
Big Data Day LA 2015 - What's new and next in Apache Tez by Bikas Saha of Hor...Big Data Day LA 2015 - What's new and next in Apache Tez by Bikas Saha of Hor...
Big Data Day LA 2015 - What's new and next in Apache Tez by Bikas Saha of Hor...
 
(DVO308) Docker & ECS in Production: How We Migrated Our Infrastructure from ...
(DVO308) Docker & ECS in Production: How We Migrated Our Infrastructure from ...(DVO308) Docker & ECS in Production: How We Migrated Our Infrastructure from ...
(DVO308) Docker & ECS in Production: How We Migrated Our Infrastructure from ...
 
Apache Tez - A unifying Framework for Hadoop Data Processing
Apache Tez - A unifying Framework for Hadoop Data ProcessingApache Tez - A unifying Framework for Hadoop Data Processing
Apache Tez - A unifying Framework for Hadoop Data Processing
 
Always on! Or not?
Always on! Or not?Always on! Or not?
Always on! Or not?
 
AAI-3218 Production Deployment Best Practices for WebSphere Liberty Profile
AAI-3218 Production Deployment Best Practices for WebSphere Liberty ProfileAAI-3218 Production Deployment Best Practices for WebSphere Liberty Profile
AAI-3218 Production Deployment Best Practices for WebSphere Liberty Profile
 
Bring your Service to YARN
Bring your Service to YARNBring your Service to YARN
Bring your Service to YARN
 
Habitat Workshop at Velocity London 2017
Habitat Workshop at Velocity London 2017Habitat Workshop at Velocity London 2017
Habitat Workshop at Velocity London 2017
 

Mais de Hortonworks

Mais de Hortonworks (20)

Hortonworks DataFlow (HDF) 3.3 - Taking Stream Processing to the Next Level
Hortonworks DataFlow (HDF) 3.3 - Taking Stream Processing to the Next LevelHortonworks DataFlow (HDF) 3.3 - Taking Stream Processing to the Next Level
Hortonworks DataFlow (HDF) 3.3 - Taking Stream Processing to the Next Level
 
IoT Predictions for 2019 and Beyond: Data at the Heart of Your IoT Strategy
IoT Predictions for 2019 and Beyond: Data at the Heart of Your IoT StrategyIoT Predictions for 2019 and Beyond: Data at the Heart of Your IoT Strategy
IoT Predictions for 2019 and Beyond: Data at the Heart of Your IoT Strategy
 
Getting the Most Out of Your Data in the Cloud with Cloudbreak
Getting the Most Out of Your Data in the Cloud with CloudbreakGetting the Most Out of Your Data in the Cloud with Cloudbreak
Getting the Most Out of Your Data in the Cloud with Cloudbreak
 
Johns Hopkins - Using Hadoop to Secure Access Log Events
Johns Hopkins - Using Hadoop to Secure Access Log EventsJohns Hopkins - Using Hadoop to Secure Access Log Events
Johns Hopkins - Using Hadoop to Secure Access Log Events
 
Catch a Hacker in Real-Time: Live Visuals of Bots and Bad Guys
Catch a Hacker in Real-Time: Live Visuals of Bots and Bad GuysCatch a Hacker in Real-Time: Live Visuals of Bots and Bad Guys
Catch a Hacker in Real-Time: Live Visuals of Bots and Bad Guys
 
HDF 3.2 - What's New
HDF 3.2 - What's NewHDF 3.2 - What's New
HDF 3.2 - What's New
 
Curing Kafka Blindness with Hortonworks Streams Messaging Manager
Curing Kafka Blindness with Hortonworks Streams Messaging ManagerCuring Kafka Blindness with Hortonworks Streams Messaging Manager
Curing Kafka Blindness with Hortonworks Streams Messaging Manager
 
Interpretation Tool for Genomic Sequencing Data in Clinical Environments
Interpretation Tool for Genomic Sequencing Data in Clinical EnvironmentsInterpretation Tool for Genomic Sequencing Data in Clinical Environments
Interpretation Tool for Genomic Sequencing Data in Clinical Environments
 
IBM+Hortonworks = Transformation of the Big Data Landscape
IBM+Hortonworks = Transformation of the Big Data LandscapeIBM+Hortonworks = Transformation of the Big Data Landscape
IBM+Hortonworks = Transformation of the Big Data Landscape
 
Premier Inside-Out: Apache Druid
Premier Inside-Out: Apache DruidPremier Inside-Out: Apache Druid
Premier Inside-Out: Apache Druid
 
Accelerating Data Science and Real Time Analytics at Scale
Accelerating Data Science and Real Time Analytics at ScaleAccelerating Data Science and Real Time Analytics at Scale
Accelerating Data Science and Real Time Analytics at Scale
 
TIME SERIES: APPLYING ADVANCED ANALYTICS TO INDUSTRIAL PROCESS DATA
TIME SERIES: APPLYING ADVANCED ANALYTICS TO INDUSTRIAL PROCESS DATATIME SERIES: APPLYING ADVANCED ANALYTICS TO INDUSTRIAL PROCESS DATA
TIME SERIES: APPLYING ADVANCED ANALYTICS TO INDUSTRIAL PROCESS DATA
 
Blockchain with Machine Learning Powered by Big Data: Trimble Transportation ...
Blockchain with Machine Learning Powered by Big Data: Trimble Transportation ...Blockchain with Machine Learning Powered by Big Data: Trimble Transportation ...
Blockchain with Machine Learning Powered by Big Data: Trimble Transportation ...
 
Delivering Real-Time Streaming Data for Healthcare Customers: Clearsense
Delivering Real-Time Streaming Data for Healthcare Customers: ClearsenseDelivering Real-Time Streaming Data for Healthcare Customers: Clearsense
Delivering Real-Time Streaming Data for Healthcare Customers: Clearsense
 
Making Enterprise Big Data Small with Ease
Making Enterprise Big Data Small with EaseMaking Enterprise Big Data Small with Ease
Making Enterprise Big Data Small with Ease
 
Webinewbie to Webinerd in 30 Days - Webinar World Presentation
Webinewbie to Webinerd in 30 Days - Webinar World PresentationWebinewbie to Webinerd in 30 Days - Webinar World Presentation
Webinewbie to Webinerd in 30 Days - Webinar World Presentation
 
Driving Digital Transformation Through Global Data Management
Driving Digital Transformation Through Global Data ManagementDriving Digital Transformation Through Global Data Management
Driving Digital Transformation Through Global Data Management
 
HDF 3.1 pt. 2: A Technical Deep-Dive on New Streaming Features
HDF 3.1 pt. 2: A Technical Deep-Dive on New Streaming FeaturesHDF 3.1 pt. 2: A Technical Deep-Dive on New Streaming Features
HDF 3.1 pt. 2: A Technical Deep-Dive on New Streaming Features
 
Hortonworks DataFlow (HDF) 3.1 - Redefining Data-In-Motion with Modern Data A...
Hortonworks DataFlow (HDF) 3.1 - Redefining Data-In-Motion with Modern Data A...Hortonworks DataFlow (HDF) 3.1 - Redefining Data-In-Motion with Modern Data A...
Hortonworks DataFlow (HDF) 3.1 - Redefining Data-In-Motion with Modern Data A...
 
Unlock Value from Big Data with Apache NiFi and Streaming CDC
Unlock Value from Big Data with Apache NiFi and Streaming CDCUnlock Value from Big Data with Apache NiFi and Streaming CDC
Unlock Value from Big Data with Apache NiFi and Streaming CDC
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

Hortonworks Technical Workshop - build a yarn ready application with apache slider feb. 26 - 2015.pptx

  • 1. © Hortonworks Inc. 2015 Build a YARN Ready Application with Apache Slider February 2015
  • 2. Agenda Introduction to Slider Steve Loughran Authoring Application Packages Sumit Mohanty Secure HBase deployment Jon Maron Page 2
  • 3. © Hortonworks Inc. 2015 Introduction to Slider Steve Loughran
  • 4. © Hortonworks Inc. 2015 log Background: Modern applications front end web phones devices feeds log stream processing front end front end log database analytics
  • 5. © Hortonworks Inc. 2015 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
  • 6. © Hortonworks Inc. 2015 Getting your code to work across a set of fairly reliable machines
  • 7. © Hortonworks Inc. 2015 Apache Slider Deploying and managing applications on Apache Hadoop YARN http://slider.incubator.apache.org/
  • 8. © Hortonworks Inc. 2015 HDFS YARN Node Manager HDFS YARN Node Manager HDFS YARN Resource Manager “The RM” HDFS YARN Node Manager •  Servers run YARN Node Managers (NM) •  NM's heartbeat to Resource Manager (RM) •  RM schedules work over cluster •  RM allocates containers to apps •  NMs start containers •  NMs report container health YARN schedules work
  • 9. © Hortonworks Inc. 2015 Client creates Slider App Master HDFS YARN Node Manager HDFS YARN Node Manager HDFS YARN Resource Manager “The RM” HDFS YARN Node Manager Client Slider Application Master
  • 10. © Hortonworks Inc. 2015 Slider App Master runs the application HDFS YARN Node Manager HDFS YARN Node Manager HDFS YARN Resource Manager HDFS YARN Node Manager Slider Application Master HBase Master HBase Region Server HBase Region Server
  • 11. © Hortonworks Inc. An application consists of “Application Package” JSON configuration files: YARN resources + config Data persisted in HDFS Placement history in HDFS Page 11
  • 12. © Hortonworks Inc resources.json {      "schema":  "http://example.org/specification/v2.0.0",      "global":  {            "yarn.memory":  "512"      },      "components":  {          "HBASE_MASTER":  {              "yarn.role.priority":  "1",              "yarn.component.instances":  "1",              "yarn.vcores":  "1",          },          "HBASE_REGIONSERVER":  {              "yarn.role.priority":  "2",              "yarn.component.instances":  "1"          }      }    }    
  • 13. configure: app_config.json {          "application.def":  "/slider/hbase_v096.zip",            "site.global.app_log_dir":  "${AGENT_LOG_ROOT}/app/log",          "site.global.app_pid_dir":  "${AGENT_WORK_ROOT}/app/run",            "site.global.hbase_master_heapsize":  "1024m",          "site.global.ganglia_server_host":  "${NN_HOST}",          "site.global.ganglia_server_port":  "8667",          "site.global.ganglia_server_id":  "Application1",            "site.hbase-­‐site.hbase.tmp.dir":  "${AGENT_WORK_ROOT}/work/app/tmp",          "site.hbase-­‐site.hbase.master.info.port":  "${HBASE_MASTER.ALLOCATED_PORT}",          "site.hbase-­‐site.hbase.regionserver.port":  "0",          "site.hbase-­‐site.hbase.zookeeper.quorum":  "${ZK_HOST}",            "site.core-­‐site.fs.defaultFS":  "${NN_URI}",   }   Configurations needed by Slider Named variables Site variables for application Named variables for cluster details Allocate and advertise Variables for the application scripts
  • 14. © Hortonworks Inc create, start, stop, destroy $  slider  create  hbase1  -­‐-­‐resources  resources.json  -­‐-­‐template  config.json       $  slider  list     $  slider  status  hbase1     $  slider  stop  hbase1     $  slider  start  hbase1     $  slider  destroy  hbase1  
  • 15. © Hortonworks Inc. 2015 Dynamic application resize slider  flex  hbase1      -­‐-­‐component  HBASE_REGIONSERVER  2  
  • 16.
  • 17. © Hortonworks Inc. 2015 Failures HDFS YARN Node Manager HDFS YARN Node Manager HDFS YARN Resource Manager HDFS YARN Node Manager Slider App Master HBase Master HBase Region Server HBase Region Server
  • 18. © Hortonworks Inc. 2015 YARN notifies AM HDFS YARN Node Manager HDFS YARN Node Manager HDFS YARN Resource Manager HDFS YARN Node Manager Slider App Master HBase Master HBase Region Server
  • 19. © Hortonworks Inc. 2015 AM requests replacement HDFS YARN Node Manager HDFS YARN Node Manager HDFS YARN Resource Manager HDFS YARN Node Manager Slider App Master HBase Master HBase Region Server HBase Region Server
  • 20. © Hortonworks Inc. 2015 Slider View for Apache Ambari http://ambari.apache.org/
  • 21.
  • 22.
  • 23. © Hortonworks Inc. Project Status • In ASF incubation • 0.70-incubating release this month • Growing set of application packages • Working in simplifying packaging • HDP 2.2 added long-lived service support for Slider and other services
  • 24. © Hortonworks Inc. 2015 ü  Labelled nodes & queues ü  Log aggregation ü  Container retention over Application Master restart ü  Service registration & discovery ü  Kerberos token renewal ü  Windowed Application failure tracking HDP2.2 features for Slider —essential for all long-lived YARN services
  • 25. © Hortonworks Inc. 2015 http://slider.incubator.apache.org/
  • 26. © Hortonworks Inc 2015 Meetup March 4 http://www.meetup.com/HSquared-Hadoop- Hortonworks-User-Group/events/220422211/ Page 26
  • 27. © Hortonworks Inc. 2015 Authoring Applications Sumit Mohanty smohanty at hortonworks.com Feb 25, 2015
  • 28. © Hortonworks Inc. Agenda • A Simple Program • Simple Program that Advertises • Bring your own binaries • A Minimal Application Package Page 28
  • 29. © Hortonworks Inc. A Simple Program Page 29 • All dependencies installed • Default configuration • Well-known endpoints • Long running
  • 30. © Hortonworks Inc. A Simple Program : Recap Page 30 • create   – slider  create  memcachedmin  -­‐-­‐metainfo  metainfo.json   -­‐-­‐resources  resources.json   • metainfo:    {          "schemaVersion":  "2.1",          "application":  {                  "name":  "MEMCACHED",                  "components":  [                          {                                  "name":  "MEMCACHED",                                  "commands":  [                                          {                                                  "exec":  "/usr/jdk64/jdk1.7.0_67/bin/java  …",                                                  "name":  "START",                                                  "type":  "SHELL",                                          }                                  ...  
  • 31. © Hortonworks Inc. A Simple Program : Recap Page 31 • resources:    {      "schema"  :  "http://example.org/specification/v2.0.0",      "metadata"  :  {      },      "global"  :  {      },      "components":  {          "MEMCACHED":  {              "yarn.role.priority":  "1",              "yarn.component.instances":  "1",              "yarn.memory":  "256"          }      }   }  
  • 32. © Hortonworks Inc. Simple Program that Advertises Page 32 • All dependencies installed • Portable – advertises the endpoints • Long running
  • 33. © Hortonworks Inc. Simple Program that Advertises : Recap Page 33 • command   – slider  create  memcachedexp  -­‐-­‐metainfo  metainfo.json   -­‐-­‐resources  resources.json  -­‐-­‐template  appConfig.json   • metainfo:            "application":  {                  "name":  "MEMCACHED",                  "exportGroups":  [                          {                                  "name":  "Servers",                                  "exports":  [                                          {                                                  "name":  "host_port",                                                  "value":  "${MEMCACHED_HOST}:${site.global.port}”                                  ...,                  "components":  [                            {                                    "compExports":  "Servers-­‐host_port",                                    "exec":  "...  -­‐-­‐port={$conf:@//site/global/port}",                        
  • 34. © Hortonworks Inc. Simple Program that Advertises : Recap Page 34 • appConfig     {      "schema":  "http://example.org/specification/v2.0.0",      "metadata":  {      },      "global":  {          "site.global.port":  "${MEMCACHED.ALLOCATED_PORT}{PER_CONTAINER}”      }   }  
  • 35. © Hortonworks Inc. Simple Program that Advertises : Recap Page 35 • from  registry     http://RM-­‐HOST:8088/proxy/app_id/ws/v1/slider/publisher/exports/servers   {          "description":  "Servers",          "updatedTime":  "Thu  Feb  26  06:11:49  UTC  2015",          "entries":                    {                          "host_port":  [                          {                                  "value":  "c6403.ambari.apache.org:43292",                                  "containerId":  "container_1424910595794_0008_01_000002",                                  "tag":  "1",                                  "level":  "component",                                  "updatedTime":  "Thu  Feb  26  06:11:49  UTC  2015"   ...  
  • 36. © Hortonworks Inc. Bring your own Binaries Page 36 • Dependencies deployed by the app instance • Portable – advertises the endpoints • Long running
  • 37. © Hortonworks Inc. Bring your own Binaries: Recap Page 37 • command   – slider  create  memcachedjar  –appdef  /usr/work/memcached-­‐jar   -­‐-­‐resources  resources.json  -­‐-­‐template  appConfig.json   • metainfo:            "application":  {                  "name":  "MEMCACHED",                  "exportGroups":  [...],                  "components":  [                          {                                    "exec":  "java  -­‐classpath  {$conf:@//site/global/app_root}/*:..."                          ...,                  "packages":  [                          {                                  "type":  "folder",                                  "name":  "files/jmemcached-­‐1.0.0"                          }                  ]   ...                      
  • 38. © Hortonworks Inc. Bring your own Binaries: Recap Page 38 • folder  contents:   –  ./package   –  ./package/files   –  ./package/files/jmemcached-­‐1.0.0   –  ./package/files/jmemcached-­‐1.0.0/jmemcached-­‐cli-­‐1.0.0.jar   –  ./package/files/jmemcached-­‐1.0.0/jmemcached-­‐core-­‐1.0.0.jar   –  ./metainfo.json      
  • 39. © Hortonworks Inc. Minimal Application Package Page 39 • 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 …
  • 40. © Hortonworks Inc. Minimal Application Package: Recap Page 40 • Package content 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  
  • 41. © Hortonworks Inc. 2015 Secure Hbase Deployment Jonathan Maron jmaron at hortonworks.com 2015
  • 42. © Hortonworks Inc. Agenda • HBase Application Package • Application Deployment • Secure Deployment • Application Management • Demo • Debugging/Diagnosis • Q&A Page 42
  • 43. © Hortonworks Inc. HBase Application Package - Structure Page 43 appConfig-default.json appConfig-secured-default.json metainfo.xml package/files/hbase-0.98.4.2.2.1.0-2085-hadoop2.tar.gz jmx_metrics.json package/templates/... package/scripts/. . . resources-default.json ganglia_metrics.json get-hbase-site.sh get-hbase-site.py
  • 44. © Hortonworks Inc. HBase Application Package - metainfo Page 44 <metainfo> <schemaVersion>2.0</schemaVersion> <application> <name>HBASE</name> <version>0.98.4.2.2.1.0-2085-hadoop2</version> <type>YARN-APP</type> <minHadoopVersion>2.1.0</minHadoopVersion> <exportedConfigs>hbase-site</exportedConfigs> <exportGroups> <exportGroup> <name>QuickLinks</name> <exports> <export> <name>org.apache.slider.jmx</name> <value>http://${HBASE_MASTER_HOST}:${site.hbase-site.hbase.master.info.port}/jmx</value> </export> . . . </exports> </exportGroup> </exportGroups> <components> <component> <name>HBASE_MASTER</name> <category>MASTER</category> <minInstanceCount>1</minInstanceCount> <appExports>QuickLinks-org.apache.slider.jmx</appExports> <componentExports> <componentExport> <name>org.apache.slider.jmx</name> <value>${THIS_HOST}:${site.hbase-site.hbase.master.info.port}/jmx</value> </componentExport> </componentExports> <commandScript> <script>scripts/hbase_master.py</script> <scriptType>PYTHON</scriptType> <timeout>600</timeout> </commandScript> </component> . . . </components> <configFiles> <configFile> <type>xml</type> <fileName>hbase-site.xml</fileName> <dictionaryName>hbase-site</dictionaryName> </configFile> . . . </configFiles> </application> </metainfo>
  • 45. © Hortonworks Inc. HBase Application Package - Configuration Page 45 { "schema": "http://example.org/specification/v2.0.0", "metadata": { }, "global": { "application.def": ".slider/package/HBASE/slider-hbase-app-package-0.98.4.2.2.1.0-2085-hadoop2.zip", "create.default.zookeeper.node": "true", "java_home": "/usr/jdk64/jdk1.7.0_67", "system_configs": "core-site,hdfs-site", "site.global.app_user": "${USER}", "site.global.app_root": "${AGENT_WORK_ROOT}/app/install/hbase-0.98.4.2.2.1.0-2085-hadoop2", . . . "site.hbase-site.hbase.security.authentication": "kerberos", "site.hbase-site.hbase.security.authorization": "true", "site.hbase-site.hbase.security.access.early_out": "true", "site.hbase-site.hbase.coprocessor.master.classes": ”. . .", "site.hbase-site.hbase.coprocessor.region.classes": ”. . .", "site.hbase-site.hbase.regionserver.kerberos.principal": "${USER}/_HOST@EXAMPLE.COM", "site.hbase-site.hbase.regionserver.keytab.file": "/etc/security/keytabs/hbase.keytab", "site.hbase-site.hbase.master.kerberos.principal": "${USER}/_HOST@EXAMPLE.COM", "site.hbase-site.hbase.master.keytab.file": "/etc/security/keytabs/hbase.keytab", "site.hbase-site.hbase.rest.kerberos.principal": "${USER}/_HOST@EXAMPLE.COM", "site.hbase-site.hbase.rest.keytab.file": "/etc/security/keytabs/hbase.keytab", "site.hbase-site.hbase.thrift.kerberos.principal": "${USER}/_HOST@EXAMPLE.COM", "site.hbase-site.hbase.thrift.keytab.file": "/etc/security/keytabs/hbase.keytab", "site.hbase-site.hbase.master.keystore.password": "myPasswordForTheKeystore", "site.hbase-site.hbase.regionserver.truststore.password": "myPasswordForTheTruststore" }, "components": { "slider-appmaster": { "jvm.heapsize": "1024M", "slider.hdfs.keytab.dir": ".slider/keytabs/hbase", "slider.am.login.keytab.name": "hbase.headless.keytab", "slider.keytab.principal.name": "hbase" } } }
  • 46. © Hortonworks Inc. Application Deployment - CLI • Package Installation – slider package –install –package package.zip –name HBASE • Application creation – slider create myApp –template appConfig.json –resources resources.json Page 46
  • 47. © Hortonworks Inc. Secure Deployment •  Login as application owner •  Keytab required for application owner –  E.g. hbase.headless.keytab –  Referenced by configuration properties: –  Manually distributed –  Configuration: -  slider.am.keytab.local.path -  slider.keytab.principal.name –  Application keytab properties reference the local path on NM hosts –  Distributed by Slider –  Configuration: -  slider.hdfs.keytab.dir -  slider.am.login.keytab.name -  slider.keytab.principal.name –  Application keytab properties reference the localization path on NM hosts -  E.g. “${AGENT_WORK_ROOT}/keytabs/hbase.service.keytab” •  More information at http://slider.incubator.apache.org/docs/security.html –  Keystore/Truststore generation Page 47
  • 48. © Hortonworks Inc. Application Management • Flex – Increase or decrease number of application component instances • Stop – Halt an application instance • Start – Start an instance of a defined application • Destroy – Remove an application definition Page 48
  • 49. © Hortonworks Inc. Demo • Application Package Contents • Cluster description • Review security setup – Login – Keytab availability • Install package • Deploy Application • Flex • Stop • Destroy Page 49
  • 50. © Hortonworks Inc. Debugging/Diagnosis • Log aggregation – Provides a mechanism for retrieving all log files associated with application instance – yarn logs –applicationId <application ID> • Other mechanisms to leverage are provided on Slider incubator web site – http://slider.incubator.apache.org/developing/debugging.html Page 50
  • 51. © Hortonworks Inc. Additional Information • Meetup – Long Running Services on YARN Using Slider – Wednesday, March 4th, 6:30 to 8:30 PM @ HWX HQ – http://www.meetup.com/HSquared-Hadoop-Hortonworks-User- Group/events/220422211/ • http://slider.incubator.apache.org/index.html Page 51
  • 52. © Hortonworks Inc 2015 Questions? hortonworks.com Page 52
  • 53. © Hortonworks Inc 2015 Meetup March 4 http://www.meetup.com/HSquared-Hadoop- Hortonworks-User-Group/events/220422211/ Page 53