Mesos in Action
Manning Publications (Verlag)
978-1-61729-292-7 (ISBN)
Modern datacenters are complex environments, and when you throw Docker and other container-based systems into the mix, there’s a great need to simplify. Mesos is an open source cluster management platform that transforms the whole datacenter into a single pool of compute, memory, and storage resources that you can allocate, automate, and scale as if you’re working with a single supercomputer.
Mesos in Action introduces readers to the Apache Mesos cluster manager and the concept of application-centric infrastructure. Filled with helpful figures and hands-on instructions, this book guides you from your first steps creating a highly-available Mesos cluster through deploying applications in production and writing native Mesos frameworks.
You’ll learn how to scale to thousands of nodes, while providing resource isolation between processes using Linux and Docker containers. You’ll also learn practical techniques for deploying applications using popular key frameworks.
- Spinning up your first Mesos cluster
- Scheduling, resource administration, and logging
- Deploying containerized applications with Marathon, Chronos, and Aurora
- Writing Mesos frameworks using Python
Readers need to be familiar with the core ideas of datacenter administration and need a basic knowledge of Python or a similar programming language.
Roger Ignazio is an experienced systems engineer with a focus on distributed, fault-tolerant, and scalable infrastructure. He is currently a technical lead at Mesosphere.
1. Introducing Mesos
1.1. Meet Mesos
1.1.1. Understanding how it works
1.1.2. Comparing virtual machines and containers
1.1.3. Knowing when (and why) to use Mesos
1.2. Why we need to rethink the datacenter
1.2.1. Partitioning of resources
1.2.2. Deploying applications
1.3. Mesos' distributed architecture
1.3.1. Masters
1.3.2. Slaves
1.3.3. Frameworks
1.4. Summary
2. Managing datacenter resources with Mesos
2.1. A brief introduction to Spark
2.1.1. Spark on a standalone cluster
2.1.2. Spark on Mesos
2.2. Running a Spark job on Mesos
2.2.1. Finding prime numbers in a set
2.2.2. Getting and packaging up the code
2.2.3. Submitting the job
2.2.4. Observing the output
2.3. Exploring further
2.3.1. Mesos UI
2.3.2. Spark UI
2.4. Summary
Part 2: Core Mesos
3. Setting up Mesos
3.1. Deploying Mesos
3.1.1. Mesos cluster components
3.1.2. Considerations for a development environment
3.1.3. Considerations for a production environment
3.2. Installing Mesos and ZooKeeper
3.2.1. Installing from packages
3.2.2. Compiling and installing from source
3.3. Configuring Mesos and ZooKeeper
3.3.1. ZooKeeper configuration
3.3.2. Mesos configuration
3.4. Installing and configuring Docker
3.4.1. Installation
3.4.2. Configuration
3.4.3. Configuring Mesos slaves for Docker
3.5. Upgrading Mesos
3.5.1. Upgrading Mesos masters
3.5.2. Upgrading Mesos slaves
3.6. Summary
4. Mesos fundamentals
4.1. Scheduling and allocating datacenter resources
4.1.1. Understanding resource scheduling
4.1.2. Understanding resource allocation
4.1.3. Customizing Mesos slave resources and attributes
4.2. Isolating resources with containers
4.2.1. Isolating and monitoring CPU, memory, and disk
4.2.2. Network monitoring and rate limiting
4.3. Understanding fault tolerance and high availability
4.3.1. Fault tolerance
4.3.2. High availability
4.3.3. Handling failures and upgrades
4.4. Summary
5. Logging and debugging
5.1. Understanding and configuring Mesos logging
5.1.1. Locating and interpreting log files
5.1.2. Logging configuration
5.2. Debugging a Mesos cluster and its tasks
5.2.1. Using the Mesos web interface
5.2.2. Using the built-in command line tools
5.2.3. Using Mesosphere's mesos-cli tool
5.3. Summary
6. Mesos in production
6.1. Monitoring the Mesos and ZooKeeper clusters
6.1.1. Monitoring the Mesos master
6.1.2. Monitoring the Mesos slave
6.1.3. Monitoring ZooKeeper
6.2. Modifying the Mesos master quorum
6.2.1. Adding masters
6.2.2. Removing masters
6.2.3. Replacing masters
6.3. Implementing security and access control
6.3.1. Slave and framework authentication
6.3.2. Authorization and access control lists
6.3.3. Framework rate limiting
6.4. Summary
Part 3: Running on Mesos
7. Deploying applications with Marathon
7.1. Getting to know Marathon
7.1.1. Exploring the web interface and API
7.1.2. Service discovery and routing
7.2. Deploying Marathon and HAProxy
7.2.1. Installing and configuring Marathon
7.2.2. Installing and configuring HAProxy
7.3. Creating and scaling applications
7.3.1. Deploying a simple application
7.3.2. Deploying a Docker container
7.3.3. Performing health checks and rolling application upgrades
7.4. Creating application groups
7.4.1. Understanding the anatomy of an application group
7.4.2. Deploying an application group
7.5. Logging and debugging
7.5.1. Configuring logging for Marathon
7.5.2. Debugging Marathon applications and tasks
7.6. Summary
8. Managing scheduled tasks with Chronos
8.1. Getting to know Chronos
8.1.1. Exploring the web interface and API
8.2. Installing and configuring Chronos
8.2.1. Reviewing prerequisites
8.2.2. Installing Chronos
8.2.3. Configuring Chronos
8.3. Working with simple jobs
8.3.1. Creating a schedule-based job
8.3.2. Creating a schedule-based job by using Docker
8.4. Working with complex jobs
8.4.1. Combining schedule-based and dependency-based jobs
8.4.2. Visualizing job dependencies
8.5. Monitoring the output and status of Chronos jobs
8.5.1. Job failure notifications and monitoring
8.5.2. Observing standard output and standard error via Mesos
8.6. Summary
9. Deploying applications and managing scheduled tasks with Aurora
9.1. Introducing Aurora
9.1.1. The Aurora scheduler
9.1.2. The Thermos executor and observer
9.1.3. The Aurora user and admin clients
9.1.4. The Aurora domain-specific language
9.2. Deploying Aurora
9.2.1. Trying out Aurora in a development environment
9.2.2. Building and installing Aurora
9.2.3. Configuring Aurora
9.3. Deploying applications
9.3.1. Deploying a simple application
9.3.2. Deploying a Docker-based application
9.4. Managing scheduled tasks
9.4.1. Creating a Cron job
9.4.2. Creating a Docker-based Cron job
9.5. Administering Aurora
9.5.1. Managing users and quotas
9.5.2. Performing maintenance
9.6. Summary
10. Developing a framework
10.1. Framework basics
10.1.1. When and why would you write a framework?
10.1.2. Understanding the scheduler implementation
10.1.3. Insight into the executor implementation
10.2. Developing a scheduler
10.2.1. Working with the Scheduler API
10.2.2. Working with the SchedulerDriver
10.3. Developing an executor
10.3.1. Working with the Executor API
10.3.2. Working with the ExecutorDriver
10.4. Running the framework
10.4.1. Deploying in development
10.4.2. Considerations for a production deployment
10.5. Summary
Appendixes
Appendix A: Case study: Mesosphere DCOS, an enterprise Mesos distribution
A.1. Introduction to DCOS
A.1.1. Understanding the DCOS architecture
A.1.2. Interacting with DCOS
A.2. Continuous deployment with Jenkins and Marathon
A.2.1. Preparing DCOS for continuous application deployments
A.2.2. Configuring Jenkins
A.2.3. Continuous deployment in action
A.3. Summary
Appendix B: List of Mesos frameworks and tools
B.1. Mesos Frameworks
B.1.1. Application management and batch scheduling
B.1.2. Data processing
B.1.3. Distributed Databases and Storage
B.2. Mesos-related Tools
B.2.1. Language bindings
B.2.2. Load balancing and service discovery
B.2.3. Monitoring and management
B.2.4. Vagrant environments
Erscheinungsdatum | 01.07.2016 |
---|---|
Verlagsort | New York |
Sprache | englisch |
Maße | 185 x 234 mm |
Gewicht | 454 g |
Einbandart | kartoniert |
Themenwelt | Informatik ► Betriebssysteme / Server ► Unix / Linux |
Mathematik / Informatik ► Informatik ► Netzwerke | |
Mathematik / Informatik ► Informatik ► Software Entwicklung | |
Schlagworte | Apache • Apache Mesos • Cluster • Datacenter Network • Rechnerverbund |
ISBN-10 | 1-61729-292-3 / 1617292923 |
ISBN-13 | 978-1-61729-292-7 / 9781617292927 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich