SlideShare a Scribd company logo
1 of 24
Download to read offline
Introduction of Mesos
persistent storage
Weitao Zhou @ DataMan
Content
• How to run stateful service against current
Mesos-0.22
• Disk isolation and monitoring
• Persistent Volumes
• Dynamic Reservations
• What we can contribute for Mesos persistent
storage
How to run stateful service
against current Mesos-0.22
• Making it outside of Mesos cluster
• Storing data into local filesystem of the specified
Mesos slave
• Setting DFS to get rid of static reserve
• Taking advantage of stateful service build-in
data-replication feature
Making it outside of Mesos
Cluster
• Scenarios:
• independent cluster: RabbitMQ cluster
• constant resource usage, etc.
• Pros:
• mature solution
• effortless
• Cons:
• decreasing resource usage
Storing Data into Local Filesystem
of the Specified Mesos Slave
• Scenarios:
• Data disk is NOT included into Mesos resource
• Avoid of data revoked by Mesos
• The next task can restore data
• Pros:
• Using the CPU, RAM, network resource of the Mesos cluster: one single dockerized MySQL task
• Cons:
• Resource STATIC RESERVED to make sure the stateful service can be launched on the specified
slave successfully always
• Mesos can NOT release the outdated persisted data, have to manually do it
• Data conflict: avoid it by launching one task per slave temporarily
• how to share the data for HA?
Setting DFS to get rid of
static reserve
• Pros:
• HA
• Get rid of static reserve
• Cons:
• network delay of data transfer. that can be accepted by
MySQL/PG?
• The network resource taken by data transfer is OUT of
CONTROL: Setting another data transfer network to avoid it?
=> decreasing the network resource usage again
Taking advantage of stateful service
build-in data-replication feature
• Scenarios:
• Multiple stateful services are supporting data-replication: Cassandra, MariaDB
Galera, MongoDB, etc.
• Cassandra on Mesos: https://github.com/mesosphere/cassandra-mesos
• MariaDB Galera on Mesos: http://sttts.github.io/galera/mesos/2015/03/04/galera-
on-mesos.html
• Pros:
• Network is in control via task build-in data replication
• Stateful service itself is responsible for network delay
• Cons:
• Persistent disk is outside of cluster still
in a nutshell
To persistent data, we
have to store data outside
of the cluster currently
Disk Isolation and
Monitoring
• To keep other tasks running, Mesos is restricting
disk quota per task
Mesos disk is a GENERIC
disk
• Separated Filesystem
• Created by physical disk/LVM etc.
• Signal ENOSPC triggered once data size expanded
• Task is terminated
• Hard enforcement
• Adapt to production environment
• Shared Filesystem
• Sharing file directory with other tasks
• Monitoring “disk” usage by executing “du” periodically
• Tolerating data size expansion
• Soft enforcement
Shared Filesystem needs
disk isolator
• Support Mesos build-in container only.
• Map container path to slave host path by
command “mount -n --bind”. Kernel will umount
it automatically after task finished, at the same
time.
• Use docker volume mapper for docker container
Disk IO resource
• Heavy-disk-IO task is throating other tasks
maybe
• Try “Cgroups blkio controller” for disk IO
isolation in future
Persistent Volumes
• Data in persistent volumes WON’T be GC after
task completed
• Another task can restore last finished task data
• Data survives even slave info/id changed or
rebooted
• Belonging to Mesos cluster resource, handled
by Mesos cluster
Regular Resource VS.
Persistent Resource
• Regular resource
• is renamed from current 0.22 resource
• match stateless task
• CPU, RAM, Disk will be GC after task completed
• Persistent resource
• Besides persistent volumes, CPU, RAM is included also. WHY?
• match stateful service
• data in persistent volume is reserved after task completed
• be validated by google Borg
Resource Offer with
persistent resource
{“id” : { “value” : “offerid-123456789”},
 “framework_id” : “MYID”,
 “slave_id” : “slaveid-123456789”,
 “hostname” : “hostname1.prod.twttr.net”
 “resources” : [
   // Regular resources.
   { “name” : “cpu”, “type” : SCALAR, “scalar” : 10 }
   { “name” : “mem”, “type” : SCALAR, “scalar” : 12GB }
   { “name” : “disk”, “type” : SCALAR, “scalar” : 90GB }
   // Persistent resources.
   { “name” : “cpu”, “type” : SCALAR, “scalar” : 2,
     “persistence” : { “framework_id” : “MYID”, “handle” : “uuid-123456789” } }
   { “name” : “mem”, “type” : SCALAR, “scalar” : 2GB,
     “persistence” : { “framework_id” : “MYID”, “handle” : “uuid-123456789” } }
   { “name” : “disk”, “type” : SCALAR, “scalar” : 10GB,
     “persistence” : { “framework_id” : “MYID”, “handle” : “uuid-123456789” } }
 ]
 ...
}
Shared persistent data
• MySQL framework maybe launch 2 tasks
accessing the same persistent data, for example
• mysqld server
• data backup periodically
• under discussion still
Dynamic Reservations
• Why reservations? Make sure specified
framework running on specified slave(s)
• What reserved? CPU/RAM/DISK/Network
• How to reserve? Static reserve by setting slave
role currently
Dynamic Reservations
• Framework can broadcast reserving resource
dynamically, whatever regular or persistent resource,
by setting “reserved_role”, when launch a task
• The “reserved_role” can be reoffered to the same
framework after task completed
• Framework can release the dynamic reserved resource
by itself, while can NOT release the before static one
• Very different from the before static reserve by setting
slave role
What we can contribute for
Mesos persistent Storage
• acentric or node-equal stateful service
• Cassandra, for example
• effortless: dockerize cassandra program => distribute to the
multiple specified slaves over scheduler
• master-slave or leader-follower stateful service
• HDFS, MongoDB, MySQL, for example
• name node, data node, config node
• develop different framework for different service
• Let the framework solve fault-tolerant, backup issue
What we can contribute for
Mesos persistent Storage
• know more the stateful service content
• mail-list
• source code
• doc
• try to develop the framework or dockerize the program
• solve the fault-tolerate, backup issue
• avoid to re-invent wheel
Q&A
We are hiring
• Python
• Django
• AngularJS
• Mesos
• Docker
• Linux
• Git
• opensource
• shell
• 3+ years
• 望京
• line 14/15 subway
• work with googler, red hatter, 活⼒力四射er
• more geek, more money
mailto:jjyan@dataman-inc.com
Thanks

More Related Content

What's hot

Introduction To Apache Mesos
Introduction To Apache MesosIntroduction To Apache Mesos
Introduction To Apache MesosJoe Stein
 
Cassandra on Mesos Across Multiple Datacenters at Uber (Abhishek Verma) | C* ...
Cassandra on Mesos Across Multiple Datacenters at Uber (Abhishek Verma) | C* ...Cassandra on Mesos Across Multiple Datacenters at Uber (Abhishek Verma) | C* ...
Cassandra on Mesos Across Multiple Datacenters at Uber (Abhishek Verma) | C* ...DataStax
 
8a. How To Setup HBase with Docker
8a. How To Setup HBase with Docker8a. How To Setup HBase with Docker
8a. How To Setup HBase with DockerFabio Fumarola
 
Building and Deploying Application to Apache Mesos
Building and Deploying Application to Apache MesosBuilding and Deploying Application to Apache Mesos
Building and Deploying Application to Apache MesosJoe Stein
 
Apache Kafka, HDFS, Accumulo and more on Mesos
Apache Kafka, HDFS, Accumulo and more on MesosApache Kafka, HDFS, Accumulo and more on Mesos
Apache Kafka, HDFS, Accumulo and more on MesosJoe Stein
 
Making Apache Kafka Elastic with Apache Mesos
Making Apache Kafka Elastic with Apache MesosMaking Apache Kafka Elastic with Apache Mesos
Making Apache Kafka Elastic with Apache MesosJoe Stein
 
Your 1st Ceph cluster
Your 1st Ceph clusterYour 1st Ceph cluster
Your 1st Ceph clusterMirantis
 
SUSE Storage: Sizing and Performance (Ceph)
SUSE Storage: Sizing and Performance (Ceph)SUSE Storage: Sizing and Performance (Ceph)
SUSE Storage: Sizing and Performance (Ceph)Lars Marowsky-Brée
 
Ceph Performance and Sizing Guide
Ceph Performance and Sizing GuideCeph Performance and Sizing Guide
Ceph Performance and Sizing GuideJose De La Rosa
 
Gluster for Geeks: Performance Tuning Tips & Tricks
Gluster for Geeks: Performance Tuning Tips & TricksGluster for Geeks: Performance Tuning Tips & Tricks
Gluster for Geeks: Performance Tuning Tips & TricksGlusterFS
 
Tutorial ceph-2
Tutorial ceph-2Tutorial ceph-2
Tutorial ceph-2Tommy Lee
 
Understanding blue store, Ceph's new storage backend - Tim Serong, SUSE
Understanding blue store, Ceph's new storage backend - Tim Serong, SUSEUnderstanding blue store, Ceph's new storage backend - Tim Serong, SUSE
Understanding blue store, Ceph's new storage backend - Tim Serong, SUSEOpenStack
 
Filesystem Comparison: NFS vs GFS2 vs OCFS2
Filesystem Comparison: NFS vs GFS2 vs OCFS2Filesystem Comparison: NFS vs GFS2 vs OCFS2
Filesystem Comparison: NFS vs GFS2 vs OCFS2Giuseppe Paterno'
 
Cassandra and Rails at LA NoSQL Meetup
Cassandra and Rails at LA NoSQL MeetupCassandra and Rails at LA NoSQL Meetup
Cassandra and Rails at LA NoSQL MeetupMichael Wynholds
 
Setting up mongodb sharded cluster in 30 minutes
Setting up mongodb sharded cluster in 30 minutesSetting up mongodb sharded cluster in 30 minutes
Setting up mongodb sharded cluster in 30 minutesSudheer Kondla
 

What's hot (20)

Introduction To Apache Mesos
Introduction To Apache MesosIntroduction To Apache Mesos
Introduction To Apache Mesos
 
Cassandra on Mesos Across Multiple Datacenters at Uber (Abhishek Verma) | C* ...
Cassandra on Mesos Across Multiple Datacenters at Uber (Abhishek Verma) | C* ...Cassandra on Mesos Across Multiple Datacenters at Uber (Abhishek Verma) | C* ...
Cassandra on Mesos Across Multiple Datacenters at Uber (Abhishek Verma) | C* ...
 
8a. How To Setup HBase with Docker
8a. How To Setup HBase with Docker8a. How To Setup HBase with Docker
8a. How To Setup HBase with Docker
 
Building and Deploying Application to Apache Mesos
Building and Deploying Application to Apache MesosBuilding and Deploying Application to Apache Mesos
Building and Deploying Application to Apache Mesos
 
Apache Kafka, HDFS, Accumulo and more on Mesos
Apache Kafka, HDFS, Accumulo and more on MesosApache Kafka, HDFS, Accumulo and more on Mesos
Apache Kafka, HDFS, Accumulo and more on Mesos
 
Making Apache Kafka Elastic with Apache Mesos
Making Apache Kafka Elastic with Apache MesosMaking Apache Kafka Elastic with Apache Mesos
Making Apache Kafka Elastic with Apache Mesos
 
Your 1st Ceph cluster
Your 1st Ceph clusterYour 1st Ceph cluster
Your 1st Ceph cluster
 
SUSE Storage: Sizing and Performance (Ceph)
SUSE Storage: Sizing and Performance (Ceph)SUSE Storage: Sizing and Performance (Ceph)
SUSE Storage: Sizing and Performance (Ceph)
 
HazelCast
HazelCastHazelCast
HazelCast
 
Ceph Performance and Sizing Guide
Ceph Performance and Sizing GuideCeph Performance and Sizing Guide
Ceph Performance and Sizing Guide
 
Apache Mesos
Apache MesosApache Mesos
Apache Mesos
 
Gluster for Geeks: Performance Tuning Tips & Tricks
Gluster for Geeks: Performance Tuning Tips & TricksGluster for Geeks: Performance Tuning Tips & Tricks
Gluster for Geeks: Performance Tuning Tips & Tricks
 
Tutorial ceph-2
Tutorial ceph-2Tutorial ceph-2
Tutorial ceph-2
 
MongoDB Backup & Disaster Recovery
MongoDB Backup & Disaster RecoveryMongoDB Backup & Disaster Recovery
MongoDB Backup & Disaster Recovery
 
Bluestore
BluestoreBluestore
Bluestore
 
Hazelcast Introduction
Hazelcast IntroductionHazelcast Introduction
Hazelcast Introduction
 
Understanding blue store, Ceph's new storage backend - Tim Serong, SUSE
Understanding blue store, Ceph's new storage backend - Tim Serong, SUSEUnderstanding blue store, Ceph's new storage backend - Tim Serong, SUSE
Understanding blue store, Ceph's new storage backend - Tim Serong, SUSE
 
Filesystem Comparison: NFS vs GFS2 vs OCFS2
Filesystem Comparison: NFS vs GFS2 vs OCFS2Filesystem Comparison: NFS vs GFS2 vs OCFS2
Filesystem Comparison: NFS vs GFS2 vs OCFS2
 
Cassandra and Rails at LA NoSQL Meetup
Cassandra and Rails at LA NoSQL MeetupCassandra and Rails at LA NoSQL Meetup
Cassandra and Rails at LA NoSQL Meetup
 
Setting up mongodb sharded cluster in 30 minutes
Setting up mongodb sharded cluster in 30 minutesSetting up mongodb sharded cluster in 30 minutes
Setting up mongodb sharded cluster in 30 minutes
 

Similar to Introduction of mesos persistent storage

How does Apache Pegasus (incubating) community develop at SensorsData
How does Apache Pegasus (incubating) community develop at SensorsDataHow does Apache Pegasus (incubating) community develop at SensorsData
How does Apache Pegasus (incubating) community develop at SensorsDataacelyc1112009
 
Deployment Strategy
Deployment StrategyDeployment Strategy
Deployment StrategyMongoDB
 
Deployment Strategies
Deployment StrategiesDeployment Strategies
Deployment StrategiesMongoDB
 
Optimizing MySQL for Cascade Server
Optimizing MySQL for Cascade ServerOptimizing MySQL for Cascade Server
Optimizing MySQL for Cascade Serverhannonhill
 
Monitoring MongoDB’s Engines in the Wild
Monitoring MongoDB’s Engines in the WildMonitoring MongoDB’s Engines in the Wild
Monitoring MongoDB’s Engines in the WildTim Vaillancourt
 
Running database infrastructure on containers
Running database infrastructure on containersRunning database infrastructure on containers
Running database infrastructure on containersMariaDB plc
 
Hadoop Operations - Best practices from the field
Hadoop Operations - Best practices from the fieldHadoop Operations - Best practices from the field
Hadoop Operations - Best practices from the fieldUwe Printz
 
Deployment Strategies (Mongo Austin)
Deployment Strategies (Mongo Austin)Deployment Strategies (Mongo Austin)
Deployment Strategies (Mongo Austin)MongoDB
 
London + Dublin Cassandra 2.0
London + Dublin Cassandra 2.0London + Dublin Cassandra 2.0
London + Dublin Cassandra 2.0jbellis
 
Cyclone DDS Unleashed: Reasons for Choosing Cyclone DDS Shared Memory
Cyclone DDS Unleashed: Reasons for Choosing Cyclone DDS Shared MemoryCyclone DDS Unleashed: Reasons for Choosing Cyclone DDS Shared Memory
Cyclone DDS Unleashed: Reasons for Choosing Cyclone DDS Shared MemoryZettaScaleTechnology
 
PostgreSQL High Availability in a Containerized World
PostgreSQL High Availability in a Containerized WorldPostgreSQL High Availability in a Containerized World
PostgreSQL High Availability in a Containerized WorldJignesh Shah
 
Toward 10,000 Containers on OpenStack
Toward 10,000 Containers on OpenStackToward 10,000 Containers on OpenStack
Toward 10,000 Containers on OpenStackTon Ngo
 
More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)Michael Collier
 
High-Performance Storage Services with HailDB and Java
High-Performance Storage Services with HailDB and JavaHigh-Performance Storage Services with HailDB and Java
High-Performance Storage Services with HailDB and Javasunnygleason
 
Data Lake and the rise of the microservices
Data Lake and the rise of the microservicesData Lake and the rise of the microservices
Data Lake and the rise of the microservicesBigstep
 
Best Oracle dba online training institute
Best Oracle dba online training instituteBest Oracle dba online training institute
Best Oracle dba online training instituteMindmajix Technologies
 
PGConf.ASIA 2019 Bali - Tune Your LInux Box, Not Just PostgreSQL - Ibrar Ahmed
PGConf.ASIA 2019 Bali - Tune Your LInux Box, Not Just PostgreSQL - Ibrar AhmedPGConf.ASIA 2019 Bali - Tune Your LInux Box, Not Just PostgreSQL - Ibrar Ahmed
PGConf.ASIA 2019 Bali - Tune Your LInux Box, Not Just PostgreSQL - Ibrar AhmedEqunix Business Solutions
 
V mware2012 20121221_final
V mware2012 20121221_finalV mware2012 20121221_final
V mware2012 20121221_finalWeb2Present
 

Similar to Introduction of mesos persistent storage (20)

How does Apache Pegasus (incubating) community develop at SensorsData
How does Apache Pegasus (incubating) community develop at SensorsDataHow does Apache Pegasus (incubating) community develop at SensorsData
How does Apache Pegasus (incubating) community develop at SensorsData
 
DBaaS at Scale
DBaaS at ScaleDBaaS at Scale
DBaaS at Scale
 
Deployment Strategy
Deployment StrategyDeployment Strategy
Deployment Strategy
 
Deployment Strategies
Deployment StrategiesDeployment Strategies
Deployment Strategies
 
Optimizing MySQL for Cascade Server
Optimizing MySQL for Cascade ServerOptimizing MySQL for Cascade Server
Optimizing MySQL for Cascade Server
 
Monitoring MongoDB’s Engines in the Wild
Monitoring MongoDB’s Engines in the WildMonitoring MongoDB’s Engines in the Wild
Monitoring MongoDB’s Engines in the Wild
 
Running database infrastructure on containers
Running database infrastructure on containersRunning database infrastructure on containers
Running database infrastructure on containers
 
Hadoop Operations - Best practices from the field
Hadoop Operations - Best practices from the fieldHadoop Operations - Best practices from the field
Hadoop Operations - Best practices from the field
 
Deployment Strategies (Mongo Austin)
Deployment Strategies (Mongo Austin)Deployment Strategies (Mongo Austin)
Deployment Strategies (Mongo Austin)
 
London + Dublin Cassandra 2.0
London + Dublin Cassandra 2.0London + Dublin Cassandra 2.0
London + Dublin Cassandra 2.0
 
Cyclone DDS Unleashed: Reasons for Choosing Cyclone DDS Shared Memory
Cyclone DDS Unleashed: Reasons for Choosing Cyclone DDS Shared MemoryCyclone DDS Unleashed: Reasons for Choosing Cyclone DDS Shared Memory
Cyclone DDS Unleashed: Reasons for Choosing Cyclone DDS Shared Memory
 
PostgreSQL High Availability in a Containerized World
PostgreSQL High Availability in a Containerized WorldPostgreSQL High Availability in a Containerized World
PostgreSQL High Availability in a Containerized World
 
Azure DBA with IaaS
Azure DBA with IaaSAzure DBA with IaaS
Azure DBA with IaaS
 
Toward 10,000 Containers on OpenStack
Toward 10,000 Containers on OpenStackToward 10,000 Containers on OpenStack
Toward 10,000 Containers on OpenStack
 
More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)
 
High-Performance Storage Services with HailDB and Java
High-Performance Storage Services with HailDB and JavaHigh-Performance Storage Services with HailDB and Java
High-Performance Storage Services with HailDB and Java
 
Data Lake and the rise of the microservices
Data Lake and the rise of the microservicesData Lake and the rise of the microservices
Data Lake and the rise of the microservices
 
Best Oracle dba online training institute
Best Oracle dba online training instituteBest Oracle dba online training institute
Best Oracle dba online training institute
 
PGConf.ASIA 2019 Bali - Tune Your LInux Box, Not Just PostgreSQL - Ibrar Ahmed
PGConf.ASIA 2019 Bali - Tune Your LInux Box, Not Just PostgreSQL - Ibrar AhmedPGConf.ASIA 2019 Bali - Tune Your LInux Box, Not Just PostgreSQL - Ibrar Ahmed
PGConf.ASIA 2019 Bali - Tune Your LInux Box, Not Just PostgreSQL - Ibrar Ahmed
 
V mware2012 20121221_final
V mware2012 20121221_finalV mware2012 20121221_final
V mware2012 20121221_final
 

Recently uploaded

Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencessuser9e7c64
 
VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024VictoriaMetrics
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Anthony Dahanne
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 

Recently uploaded (20)

Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
 
VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 

Introduction of mesos persistent storage

  • 1. Introduction of Mesos persistent storage Weitao Zhou @ DataMan
  • 2. Content • How to run stateful service against current Mesos-0.22 • Disk isolation and monitoring • Persistent Volumes • Dynamic Reservations • What we can contribute for Mesos persistent storage
  • 3. How to run stateful service against current Mesos-0.22 • Making it outside of Mesos cluster • Storing data into local filesystem of the specified Mesos slave • Setting DFS to get rid of static reserve • Taking advantage of stateful service build-in data-replication feature
  • 4. Making it outside of Mesos Cluster • Scenarios: • independent cluster: RabbitMQ cluster • constant resource usage, etc. • Pros: • mature solution • effortless • Cons: • decreasing resource usage
  • 5. Storing Data into Local Filesystem of the Specified Mesos Slave • Scenarios: • Data disk is NOT included into Mesos resource • Avoid of data revoked by Mesos • The next task can restore data • Pros: • Using the CPU, RAM, network resource of the Mesos cluster: one single dockerized MySQL task • Cons: • Resource STATIC RESERVED to make sure the stateful service can be launched on the specified slave successfully always • Mesos can NOT release the outdated persisted data, have to manually do it • Data conflict: avoid it by launching one task per slave temporarily • how to share the data for HA?
  • 6. Setting DFS to get rid of static reserve • Pros: • HA • Get rid of static reserve • Cons: • network delay of data transfer. that can be accepted by MySQL/PG? • The network resource taken by data transfer is OUT of CONTROL: Setting another data transfer network to avoid it? => decreasing the network resource usage again
  • 7. Taking advantage of stateful service build-in data-replication feature • Scenarios: • Multiple stateful services are supporting data-replication: Cassandra, MariaDB Galera, MongoDB, etc. • Cassandra on Mesos: https://github.com/mesosphere/cassandra-mesos • MariaDB Galera on Mesos: http://sttts.github.io/galera/mesos/2015/03/04/galera- on-mesos.html • Pros: • Network is in control via task build-in data replication • Stateful service itself is responsible for network delay • Cons: • Persistent disk is outside of cluster still
  • 9. To persistent data, we have to store data outside of the cluster currently
  • 10. Disk Isolation and Monitoring • To keep other tasks running, Mesos is restricting disk quota per task
  • 11. Mesos disk is a GENERIC disk • Separated Filesystem • Created by physical disk/LVM etc. • Signal ENOSPC triggered once data size expanded • Task is terminated • Hard enforcement • Adapt to production environment • Shared Filesystem • Sharing file directory with other tasks • Monitoring “disk” usage by executing “du” periodically • Tolerating data size expansion • Soft enforcement
  • 12. Shared Filesystem needs disk isolator • Support Mesos build-in container only. • Map container path to slave host path by command “mount -n --bind”. Kernel will umount it automatically after task finished, at the same time. • Use docker volume mapper for docker container
  • 13. Disk IO resource • Heavy-disk-IO task is throating other tasks maybe • Try “Cgroups blkio controller” for disk IO isolation in future
  • 14. Persistent Volumes • Data in persistent volumes WON’T be GC after task completed • Another task can restore last finished task data • Data survives even slave info/id changed or rebooted • Belonging to Mesos cluster resource, handled by Mesos cluster
  • 15. Regular Resource VS. Persistent Resource • Regular resource • is renamed from current 0.22 resource • match stateless task • CPU, RAM, Disk will be GC after task completed • Persistent resource • Besides persistent volumes, CPU, RAM is included also. WHY? • match stateful service • data in persistent volume is reserved after task completed • be validated by google Borg
  • 16. Resource Offer with persistent resource {“id” : { “value” : “offerid-123456789”},  “framework_id” : “MYID”,  “slave_id” : “slaveid-123456789”,  “hostname” : “hostname1.prod.twttr.net”  “resources” : [    // Regular resources.    { “name” : “cpu”, “type” : SCALAR, “scalar” : 10 }    { “name” : “mem”, “type” : SCALAR, “scalar” : 12GB }    { “name” : “disk”, “type” : SCALAR, “scalar” : 90GB }    // Persistent resources.    { “name” : “cpu”, “type” : SCALAR, “scalar” : 2,      “persistence” : { “framework_id” : “MYID”, “handle” : “uuid-123456789” } }    { “name” : “mem”, “type” : SCALAR, “scalar” : 2GB,      “persistence” : { “framework_id” : “MYID”, “handle” : “uuid-123456789” } }    { “name” : “disk”, “type” : SCALAR, “scalar” : 10GB,      “persistence” : { “framework_id” : “MYID”, “handle” : “uuid-123456789” } }  ]  ... }
  • 17. Shared persistent data • MySQL framework maybe launch 2 tasks accessing the same persistent data, for example • mysqld server • data backup periodically • under discussion still
  • 18. Dynamic Reservations • Why reservations? Make sure specified framework running on specified slave(s) • What reserved? CPU/RAM/DISK/Network • How to reserve? Static reserve by setting slave role currently
  • 19. Dynamic Reservations • Framework can broadcast reserving resource dynamically, whatever regular or persistent resource, by setting “reserved_role”, when launch a task • The “reserved_role” can be reoffered to the same framework after task completed • Framework can release the dynamic reserved resource by itself, while can NOT release the before static one • Very different from the before static reserve by setting slave role
  • 20. What we can contribute for Mesos persistent Storage • acentric or node-equal stateful service • Cassandra, for example • effortless: dockerize cassandra program => distribute to the multiple specified slaves over scheduler • master-slave or leader-follower stateful service • HDFS, MongoDB, MySQL, for example • name node, data node, config node • develop different framework for different service • Let the framework solve fault-tolerant, backup issue
  • 21. What we can contribute for Mesos persistent Storage • know more the stateful service content • mail-list • source code • doc • try to develop the framework or dockerize the program • solve the fault-tolerate, backup issue • avoid to re-invent wheel
  • 22. Q&A
  • 23. We are hiring • Python • Django • AngularJS • Mesos • Docker • Linux • Git • opensource • shell • 3+ years • 望京 • line 14/15 subway • work with googler, red hatter, 活⼒力四射er • more geek, more money mailto:jjyan@dataman-inc.com