Apache Mesos

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 26

APACHE MESOS

A MODERN OPEN-SOURCE CLUSTER MANAGER FOR


OPTIMIZING RESOURCE UTILIZATION
OUTLINE
• INTRODUCTION TO APACHE MESOS
• FRAMEWORK
• COMPONENTS
• SETUP
• SUMMARY
INTRODUCTION
DESCRIPTION
ARCHITECTURE
INTRODUCTI
ON

WHAT IS APACHE MESOS?


• Open-source cluster manager.

• System resource abstraction from hardware

• Facilitates effective resource isolation and sharing across


distributed applications or frameworks.

• Cross platform.

• Meta scheduler

• Supports Mesos and Docker containers.

• Distributed systems kernel / Datacenter OS.


INTRODUCTI
ON

ARCHITECTURE –
FEATURES
 Scales to over 50,000 nodes
 Fault Tolerance
 Multi Latency
 Flexibility
 High availability via Zookeeper
 Resource Isolation using Docker containers or Linux cgroups
 A Master / Slave based system
 Web UI for monitoring cluster states
INTRODUCTI
ON
INTRODUCTI
ON
INTRODUCTI
ON

ARCHITECTURE –
OVERVIEW
INTRODUCTI
ON

ARCHITECTURE OVERVIEW
FRAMEWORK
SERVICE SCHEDULING AND FRAMEWORK MANAGEMENT
BIG DATA FRAMEWORKS
FRAMEWORK
S

SERVICE SCHEDULING AND FRAMEWORK


MANAGEMENT
 Marathon
– Launch and monitor long-running applications. Controlling a high availability environment,
checking the application’s health, and restarting services if nodes go down.

 Chronos
– Distributed, fully fault-tolerant fob scheduler. Can interact with systems even if the Mesos
worker machine does not have the system installed.

 Apache Aurora
– Manages long-running services, cron jobs, and ad-hoc jobs.

 Consul
– Service Discovery and orchestration
FRAMEWORK
S

BIG DATA FRAMEWORKS


 Apache Hadoop
 - Distributed Data Processing, MapReduce and Distributed File System

 Apache Spark
 - Execution engine for large-scale data processing.

 Apache Storm
 - Real-time distributed stream event-processing engine.

 Apache Cassandra
 - Open source scalable NoSQL database.
 Provides query language Cassandra Query Language or CQL to communicate with database.
COMPONENTS
ZOOKEPER
MARATHON
COMPONENT
S

APACHE ZOOKEEPER
 A centralized service for maintaining configuration information, naming, providing distributed
synchronization, and providing group services.

 Independent project

 Fast and Simple

 Central Key/Value Store

 Designed for High Availability

 Containing additional information like time stamps, versioning


COMPONENT
S

APACHE ZOOKEEPER
 High Availability
 One Leader
 Two or more followers
 Quorum

Note: A minimum of 3 servers are required to cater for any node failure.
COMPONENT
S

APACHE ZOOKEEPER
 High Availability
 Hierarchical Namespace
 Z-Nodes
 Nodes identified by Path
 Ephemeral Nodes
 Leader Election
 Conditional updates and watches
 Atomic Transactions
 Takes hand in everywhere Mesos needs to store and call up distributed dynamic information
 - Service Locations
 - Service States
 - Client Notification
 - Leader election for Mesos Masters and Frameworks (e.g. Marathon)
COMPONENT
S

MARATHON
 An Apache Mesos framework for container orchestration
 - designed for long-running and stateful apps

 A meta framework
 - Used for managing other Mesos Frameworks (Chronos, Storm,
…)

 Container Support
 - Mesos Containers (default)
 - Docker Constrainers (must be configured)meta-framework
COMPONENT
S

MARATHON
 Features
 - High Availability

 - Constraints

 - Service Discovery & Load Balancing

 - Health Checking

 - Event Subscription

 - Marathon UI

 - Basic Security (Authorization, SSL, …)

 - User Interfaces for managing services (start, stop, check, …)


SETUP
INSTALLATION
CONFIGURATION
REQUIREMENTS
SETUP

INSTALLATION
 http://mesos.apache.org/gettingstarted

 Different between CentOS 6 / 7

 Different Requirement (OS Packages, Libraries) with Zookeeper


SETUP

CONFIGURATION
 http://mesos.apache.org/documentation/lates/configuration

 Provide parameters by config file or as startup parameter

 Required parameters (M: on Master, A: on Agent)


SETUP

CONFIGURATION

 Requirements
 Apache Mesos 1.1.1+
 Apache Zookeeper
 JDK 1.8+
 Default JVM set to Java 8

 Installation
 https://mesosphere.github.io/marathon/docs/
 Download/unpack Kit (tar)
Platform Use & HA Container Ease of Use & Communit Bare Metal Support for
Compatibility with Capabilit Orchestration Setup Cost y Support & Hypervisor
COMPARISON TABLE
Database Service y /Ecosystem Setup s

Apache Large-scale distributed High Built-in support Auto-scalable Large, active, Yes, LOW
apps, resource integrates with (Medium), extensive Medium
Mesos abstraction Kubernetes, Docker flexible,
Swarm, Apache Aurora User-friendly
High
HIGH
AppScale Run Google App Engine High NOT primarily focused Auto-scalable Large, active Yes, Medium
apps on any on container (High), flexible, Medium
infrastructure orchestration User-friendly

LOW (Relatively) Low


Cloud Stack For building & managing High Primarily focuses on VM Auto-scalable Active, Yes, High
cloud environments orchestration (HIGH), User- extensive Medium/
friendly Difficult
High
Medium
Eucalyptus On-premises private Medium Primarily focuses on VM Auto scalable SMALL, Yes, Medium
cloud, compatibility with orchestration (Medium), INACTIVE Medium
AWS APIs flexible, User-
friendly
Medium
Medium
Open Stack For building & managing High Supports container Auto-scalable Largest, active, Yes, High
cloud environments orchestration through (High), extensive Difficult
projects like Magnum NOT Flexible
High and Kubernetes
HIGH
Private cloud, traditional Medium Support Containers Auto-scalable Large, active, Yes, High
THANK YOU
KOFI ABAASAH

You might also like