Introduction to Mesos frameworks
A Mesos framework sits between Mesos and the application and acts as a layer for managing task scheduling and execution. As its implementation is application-specific, the term is often used to refer to the application itself. Earlier, a Mesos framework could interact with the Mesos API using only the libmesos C++ library, due to which other language bindings were developed for Java, Scala, Python, and Go among others, which leveraged libmesos heavily. Since v0.19.0, changes made to the HTTP-based protocol enabled developers to develop frameworks using the language they wanted without having to rely on the C++ code. A framework consists of two components:
- A scheduler
- An executor
The scheduler is responsible for taking decisions on the resource offers made to it and tracking the current state of the cluster. Communication with the Mesos master is handled by the SchedulerDriver
module, which registers the framework with the master, launches tasks, and passes...