Task Types

Understanding Mesos tasks

Executors

When the scheduler launches a task, it specifies a , which then executes the task. In Mesos, the scheduler and its executor(s) are called a framework, but within the broader context of DC/OS we often use the terms “scheduler”, “executor”, and “task” explicitly.

Mesos includes built-in executors that are available to all schedulers, but schedulers can also use their own executors.

  • Command Executor - execute shell commands or Docker containers

Because the task system is so generic, users generally do not create or interact with tasks directly. Instead, schedulers often provide higher level abstractions.

DC/OS has two built-in schedulers:

  • The Marathon scheduler provides services (Apps and Pods), which run continuously and in parallel. For more on Marathon services, see the or the Marathon docs.
  • The Metronome scheduler provides jobs, which run immediately or on a defined schedule. For more on Metronome jobs, see the .

Example user space schedulers:

  • The Kafka scheduler provides Kafka brokers, which run as lifecycle managed Kafka nodes.
  • The Spark scheduler (dispatcher) provides Spark jobs, which are themselves schedulers for Spark tasks.

For a full list of installable schedulers (and other packages), see the Mesosphere Catalog package list.