DC/OS uses Marathon to manage processes and services. Marathon is the “init system” for DC/OS. Marathon starts and monitors your applications and services, automatically healing failures.
A native Marathon instance is installed as a part of DC/OS installation. After DC/OS has started, you can manage the native Marathon instance through the Services tab of the DC/OS web interface or from the DC/OS CLI with the
dcos marathon command.
DC/OS services are Marathon applications that are deployed on DC/OS. DC/OS services are available from a package repository, such as the Mesosphere Universe, or you can create your own.
You can run DC/OS services you create or install a package from the Universe package repository. Both services you create and those you install from Universe appear on the Services tab of the DC/OS web interface when they are running.
Services you create yourself are administered by Marathon and can be configured and run from the DC/OS CLI with
dcos marathon subcommands (e.g.
dcos marathon app add <myapp>.json) or via the DC/OS web interface.
Universe Package Repository
Packaged DC/OS services created by Mesosphere or the community, like Spark or Kafka, appear on the Universe tab of the DC/OS web interface, or you can search for a package from the DC/OS CLI. You can configure and run Universe services from the DC/OS web interface or via the DC/OS CLI with the
dcos package install <package-name> command.
The general syntax for installing a service with the CLI follows.…Read More
Marathon Configuration Reference
This topic provides all available properties for Marathon application definitions and an example JSON file with all properties shown.…Read More
A Marathon application typically represents a long-running service that has many instances running on multiple hosts. An application instance is called a task. The application definition describes everything needed to start and maintain the tasks. A Marathon application definition creates a DC/OS service.…Read More
Marathon sorts tasks into these categories: initial, non-terminal, and terminal. Tasks within these categories may have one of several statuses, as summarized in the diagram below.…Read More
Configuring Universe Services
Each Universe service installs with a set of default parameters. You can discover the default parameters and change them as desired.…Read More
Granting Access to Services and Groups
You can implement fine-grained user access to services using either the DC/OS GUI or the API.…Read More
You can monitor deployed DC/OS services from the CLI and web interface.…Read More
Scaling a Service
This tutorial shows how to scale a service using the web interface and the CLI.…Read More
You can use virtual addresses (VIPs) to make ports management easier. VIPs simplify inter-app communication and implement a reliable service-oriented architecture. VIPs map traffic from a single virtual address to multiple IP addresses and ports.…Read More
Updating a User-Created Service
You can easily view and update the configuration of a deployed app by using the dcos marathon command.…Read More
Using a Private Docker Registry
To supply credentials to pull from a private Docker registry, create an archive of your Docker credentials, then add it as a URI in your application definition.…Read More
Exposing a Service
DC/OS agent nodes can be designated as public or private during installation. Public agent nodes provide access from outside of the cluster via infrastructure networking to your DC/OS services. By default, services are launched on private agent nodes and are not accessible from outside the cluster.…Read More
Services can be uninstalled from either the web interface or the CLI. If a Universe service has any reserved resources, you also need to run the framework cleaner script. The framework cleaner script removes the service instance from ZooKeeper, along with any data associated with it.…Read More
Package Management API
You can install DC/OS services by using the Package Management API. DC/OS services are installed from packages that are stored in a package registry, such as the Mesosphere Universe.…Read More
Using a Custom Marathon
This topic describes how to deploy non-native instances of Marathon to isolate Mesos roles, reservations, and quotas for your DC/OS cluster.…Read More
The Marathon API allows you to manage long-running containerized services (apps and pods).…Read More
A containerizer is a Mesos agent component responsible for launching containers, within which you can run a service. Running services in containers offers a number of benefits, including the ability to isolate tasks from one another and control task resources programmatically.…Read More
Pods enable you to share storage, networking, and other resources among a group of applications on a single agent. You can then address them as one group rather than as separate applications and manage health as a unit.…Read More
DC/OS supports allocating GPUs (Graphics Processing Units) to your long-running DC/OS services. Adding GPUs to your services can dramatically accelerate big data workloads.…Read More
Frequently Asked Questions
We’ve collected some questions we often encounter concerning the usage of DC/OS. Have got a new question you’d like to see? Use the Submit feedback button at the bottom of this page to suggest it or check out how you can contribute also the answer to it.…Read More