展开

mesos-mini

最后发布时间 : 2023-11-17 10:30:31 浏览量 :

学习资料

1. Overview

我们通常将各种应用程序部署在相同的机器集群上。例如,如今,拥有一个分布式处理引擎(例如Apache Spark或Apache Flink),并在同一集群中使用Apache Cassandra(例如Apache Cassandra)等分布式处理引擎。

Apache Mesos是一个平台,可以在此类应用程序之间进行有效的资源共享。

在本文中,我们将首先讨论在同一集群中部署的应用程序中的一些资源分配问题。稍后,我们将看到Apache Mesos如何在应用程序之间提供更好的资源利用。

2. Sharing the Cluster

许多应用程序需要共享一个集群。总的来说,有两种常见的方法:

  • 静态分区群集并在每个分区上运行一个应用程序
  • 将一组机器分配给应用程序
    尽管这些方法允许应用程序彼此独立运行,但它无法实现高资源利用。

例如,考虑仅在短时间内运行的应用程序,然后是不活动的时期。现在,由于我们已将静态机器或分区分配给了此应用程序,因此我们在不活动期间拥有未利用的资源。

我们可以通过在不活动期间将自由资源重新分配给其他应用程序来优化资源利用。

Apache Mesos有助于应用程序之间的动态资源分配。

3. Apache Mesos

在上面讨论的两种群集共享方法中,应用程序仅知道他们正在运行的特定分区或机器的资源。但是,Apache Mesos提供了群集中所有资源的抽象视图。

正如我们将很快看到的那样,Mesos充当机器和应用程序之间的接口。它在集群中的所有计算机上为应用程序提供了可用资源。它经常更新此信息,以包括已达到完成状态的应用程序释放的资源。这允许应用程序对要执行哪个机器执行的任务做出最佳决定。

为了了解Mesos的工作原理,让我们看看它的架构:

此图像是Mesos(来源)的官方文档的一部分。在这里,Hadoop和MPI是共享集群的两个应用程序。

此图像是Mesos(来源)的官方文档的一部分。在这里,Hadoop和MPI是共享集群的两个应用程序。

我们将在接下来的几节中讨论此处显示的每个组件。