datacenter( management(with(...

102
Benjamin Hindman – @benh Datacenter Management with Apache Mesos mesos.apache.org @ApacheMesos

Upload: vantuyen

Post on 18-May-2019

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

Benjamin  Hindman    –  @benh  

Datacenter  Management  with  Apache  Mesos  mesos.apache.org  

@ApacheMesos  

Page 2: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

I’ve  got  tons  of  data  ...  

Page 3: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

…  more  everyday!  

Page 4: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

That  must  be  why  they  call  it  a  datacenter.  

Page 5: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

I’d  love  to  answer  some  questions  with  the  help  of  my  

data!  

Page 6: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

I  think  I’ll  try  Hadoop.  

Page 7: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

your  datacenter  

Page 8: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

+  Hadoop  

Page 9: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

happy?  

Page 10: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

Not  exactly  …  

Page 11: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

…  Hadoop  is  a  big  hammer,  but  not  everything  is  a  nail!  

Page 12: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

I’ve  got  some  iterative  algorithms,  I  want  to  try  

Spark!  

Page 13: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

datacenter  management  

Page 14: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

datacenter  management  

Page 15: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

datacenter  management  

Page 16: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

static  partitioning  

Page 17: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

Oh  noes!  Spark  wants  to  read  and  write  data  to  HDFS!      

Page 18: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

Hadoop  …  

(map/reduce)  

(distributed  file  system)  

Page 19: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

HDFS  

Page 20: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

HDFS  

Page 21: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

Could  we  just  give  Spark  it’s  own  HDFS  cluster  too?  

Page 22: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

HDFS  

Page 23: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

HDFS  

Page 24: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

HDFS  

Page 25: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

HDFS   tee  incoming  data  (2  copies)  

Page 26: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

HDFS   tee  incoming  data  (2  copies)  

periodic  copy/sync  

Page 27: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

That  sounds  annoying  …  let’s  not  do  that.  Can  we  do  any  

better  though?  

Page 28: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

HDFS  

Page 29: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

HDFS  

Page 30: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

HDFS  

Page 31: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

happy  now?  

Page 32: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

No!  We’ve  decided  to  start  doing  real  time  computation  

with  Storm  …  

Page 33: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

datacenter  management  

Page 34: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

datacenter  management  

Page 35: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

happy  now!?  

Page 36: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

Not  really  …  during  the  day  I’d  rather  give  more  machines  to  Spark  but  at  night  I’d  rather  

give  more  machines  to  Hadoop!  

Page 37: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

datacenter  management  

Page 38: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

datacenter  management  

Page 39: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

datacenter  management  

Page 40: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

datacenter  management  

Page 41: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos
Page 42: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

And  failures  require  more  datacenter  management!    

Page 43: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

datacenter  management  

Page 44: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

datacenter  management  

Page 45: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

datacenter  management  

Page 46: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos
Page 47: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos
Page 48: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos
Page 49: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos
Page 50: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

I  don’t  want  to  deal  with  this!  

Page 51: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

the  datacenter  …  rather  than  think  about  the  datacenter  like  this  …  

Page 52: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

…  is  a  computer  think  about  it  like  this  …  

Page 53: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

datacenter  computer  

applications  

resources  

filesystem  

Page 54: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

mesos  

applications  

resources  

filesystem  

kernel  

Page 55: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

Okay,  so  how  does  it  work?  

Page 56: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

Step  1:  HDFS  

Page 57: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

Step  2:  Mesos  run  a  “master”  (or  multiple  for  high  availability)  

Page 58: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

Step  2:  Mesos  run  “slaves”  on  the  rest  of  the  machines  

Page 59: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

Step  3:  Frameworks  

Page 60: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

Step  3:  Frameworks  

Page 61: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

Step  3:  Frameworks  

Page 62: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

Step  3:  Frameworks  

Page 63: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

Step  3:  Frameworks  

Page 64: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

Step  3:  Frameworks  

Page 65: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

Step  3:  Frameworks  

Page 66: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

Step  3:  Frameworks  

Page 67: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

     tep  4:  Profit  $  

Page 68: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

     tep  4:  Profit  (utilize)  $  

just  one  big  pool  of  resources,  utilize  single  machines  more  fully!  

Page 69: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

     tep  4:  Profit  (utilize)  $  

Page 70: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

     tep  4:  Profit  (utilize)  $  

Page 71: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

     tep  4:  Profit  (statistical  multiplexing)  $  

Page 72: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

     tep  4:  Profit  (statistical  multiplexing)  $  

Page 73: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

     tep  4:  Profit  (statistical  multiplexing)  $  

Page 74: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

     tep  4:  Profit  (statistical  multiplexing)  $  

Page 75: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

     tep  4:  Profit  (statistical  multiplexing)  $  

Page 76: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

     tep  4:  Profit  (statistical  multiplexing)  $  

reduces  CapEx  and  OpEx!  

Page 77: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

     tep  4:  Profit  (statistical  multiplexing)  $  

reduces  latency!  

Page 78: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

     tep  4:  Profit  (statistical  multiplexing)  $  

Page 79: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

     tep  4:  Profit  (failures)  $  

Page 80: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

     tep  4:  Profit  (failures)  $  

Page 81: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

     tep  4:  Profit  (failures)  $  

Page 82: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

This  sounds  pretty  good!  

Page 83: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

Other  than  Hadoop,  Spark,  and  Storm,  what  else  can  I  run  

on  Mesos?    

Page 84: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

frameworks  •  Hadoop  (github.com/mesos/hadoop)  

•  Spark  (github.com/mesos/spark)  

•  DPark  (github.com/douban/dpark)  

•  Storm  (github.com/nathanmarz/storm)  

•  Chronos  (github.com/airbnb/chronos)  

•  MPICH2  (in  mesos  git  repository)  

•  Aurora  (proposed  for  Apache  incubator)  

Page 85: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

What  about  XYZ?  

Page 86: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

port  an  existing  framework  strategy:  write  a  “wrapper”  which  launches  existing  components  on  mesos  

~100  lines  of  code  to  write  a  wrapper  (the  more  lines,  the  more  you  can  take  advantage  of  elasticity  or  other  mesos  features)  

see  src/examples/  in  mesos  repository  

Page 87: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

write  a  new  framework!  as  a  “kernel”,  mesos  provides  a  lot  of  primitives  that  make  writing  a  new  framework  relatively  easy  

primitives:  extracted  commonality  across  existing  distributed  systems/frameworks  (launching  tasks,  doing  failure  detection,  etc)  …  why  re-­‐implement  them  each  time!?    

Page 88: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

case  study:  chronos  distributed  cron  with  dependencies  

developed  at  airbnb  

~3k  lines  of  Scala!  

distributed,  highly  available,  and  fault  tolerant  without  any  network  programming!  

http://github.com/airbnb/chronos  

Page 89: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

Hmm  …  if  Mesos  gives  me  a  datacenter  computer  …  can  I  run  stuff  other  than  analytics?  

Page 90: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

case  study:  aurora  run  N  instances  of  my  server,  somewhere,  forever  

(where  server  ==  arbitrary  command  line)  

developed  at  Twitter  

runs  hundreds  of  production  services,  including  ads!  

recently  proposed  for  Apache  Incubator!  

Page 91: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

aurora  

Page 92: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

aurora  

Page 93: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

aurora  

Page 94: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

aurora  

Page 95: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

aurora  

Page 96: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

But  what  about  resource  isolation!?  I  don’t  want  my  end  users  to  have  to  wait  for  our  website  to  load  because  of  

resource  contention!  

Page 97: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

resource  isolation  

Linux  control  groups  (cgroups)  

CPU  (upper  and  lower  bounds)  memory  network  I/O  (traffic  controller)  filesystem  (lvm,  in  progress)  

Page 98: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

conclusions  datacenter  management  is  a  pain  

Page 99: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

conclusions  mesos  makes  running  frameworks  on  your  datacenter  easier  as  well  as  increasing  utilization  and  performance  while  reducing  CapEx  and  OpEx!  

Page 100: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

conclusions  rather  than  build  your  next  distributed  system  from  scratch,  consider  using  mesos  

Page 101: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

conclusions  you  can  share  your  datacenter  between  analytics  and  online  services!  

Page 102: Datacenter( Management(with( Apache(Mesos(ampcamp.berkeley.edu/wp-content/uploads/2013/08/mesos-ampcamp-3.pdf · BenjaminHindman–@ benh(Datacenter(Management(with(Apache(Mesos(mesos.apache.org(@ApacheMesos

Questions?  

mesos.apache.org  

@ApacheMesos