我看到mesosphere在mesos框架上构建了各种各样的应用程序,比如hadoop、kubernetes等等。但是既然有马拉松式的应用程序用于长时间运行的服务,为什么不直接使用它呢?e、 为什么不在一堆马拉松服务上设置kubernetes节点呢?为什么直接在框架api上实现kubernetes?因为那样安排时间更有效率?同样的问题也适用于jenkins实现,为什么不在marathon之上运行jenkins master/slaves。。。
我看到mesosphere在mesos框架上构建了各种各样的应用程序,比如hadoop、kubernetes等等。但是既然有马拉松式的应用程序用于长时间运行的服务,为什么不直接使用它呢?e、 为什么不在一堆马拉松服务上设置kubernetes节点呢?为什么直接在框架api上实现kubernetes?因为那样安排时间更有效率?同样的问题也适用于jenkins实现,为什么不在marathon之上运行jenkins master/slaves。。。
1条答案
按热度按时间m528fe3b1#
apachemesos是一个2级调度器。框架的目的是提供高级调度的智能。marathon提供了在集群中调度任务、将该任务排队以进行调度以及将失败的任务重新排队的功能。它非常适合保持长时间运行的进程运行。就像
init
数据中心的。因此,它通常用于确保其他框架已启动并运行,如kubernetes mesos或jenkins。对于许多应用程序,这种级别的调度是不够的。marathon可以而且经常用于运行ApacheKafka之类的东西,但是在许多故障模式下,这通常是不够的。另外,marathon不关心任务是否在同一个节点上运行多次,但是在同一个从节点上运行多个kafka节点是个坏主意。使用hadoop作为另一个例子(因为您提到了它),hdfs有几种需要管理的节点类型;namenode、datanode和journalnode。marathon不知道启动这些节点的顺序,也不知道这些节点是否可以位于同一节点上。它不知道如何扩展这个应用程序。hdfs框架管理这些智能。
至于调度效率,我不确定这是目标。apachemesos是一个2级的调度器是有原因的。它是一个高效的二级调度程序。2级调度的价值在于将我上面描述的关注点类型抽象到更高级别的调度程序(mesos称之为框架)。marathon仍然是一个很好的方法来调度和确保对其他框架的高可用性。