Apache Mesos is an open source, fault-tolerant cluster manager. It manages a set of nodes called slaves and offers their available computing resources to frameworks. Frameworks take the resource availability from the master and launches the tasks on the slaves. Marathon is one such framework, which runs containerized applications on the Mesos cluster. Together, Mesos and Marathon become a container orchestration engine like Swarm or Kubernetes.
The following diagram represents the whole architecture:
Here is a list of Apache Mesos components:
Master manages the slave nodes in the system. There may be many masters in the system, but only one is elected as leader.
Slaves are the nodes which offer their resources to the master and run the tasks provided by frameworks.
Frameworks are long running applications consisting of schedulers which take resource offers from the master and execute the tasks on the slave.