Mesos apps, why not use Marathon for everything?

I see that Mesosphere creates all kinds of applications on the Mesos Framework, such as Hadoop, Kubernetes, etc., but since there are Marathon applications for long-term services, why not just use it? For instance. why not configure Kubernetes nodes in the Marathon service bundle? Why embed Kubernetes directly in the Framework API? Because planning is more efficient? The same question is about Jenkins implementation, why not just run Jenkins master / slaves on top of the Marathon ...

+5
source share
1 answer

Apache Mesos is a two-level scheduler . The purpose of the framework is to provide high-level planning intelligence. Marathon provides the ability to schedule a task in a cluster, queue this task for scheduling and re-queuing tasks that fail. This works great when running processes for a long time. This is similar to the data center init . Thus, it is commonly used to support other frameworks such as Kubernetes-Mesos or Jenkins .

There are many applications for which this level of planning is insufficient. A marathon can and is often used to run things like Apache Kafka , however this is often not suitable in many failure modes. In addition, Marathon does not care if the task is executed several times on the same node, however, running multiple Kafka nodes on the same slave is a bad idea. Using Hadoop as another example (as you mentioned it), HDFS has several types of nodes that need to be managed; NameNode, DataNode, and JournalNode. The marathon does not know the order to start them, or if they can be placed on the same node or not. He does not know how to scale this application. The HDFS frame controls this intelligence.

Regarding the effectiveness of planning, I'm not sure if this is the goal. Apache Mesos is a two-level scheduler for some reason. This is a highly efficient two-level scheduler. The significance of two-level planning is to abstract the type of problems that I described above for a higher-level scheduler (called Mesos as a framework). A marathon is still a great way to plan and provide high availability for other infrastructures.

+4
source

Source: https://habr.com/ru/post/1213766/


All Articles