Apache Mesos实际上是做什么的?

me

我试图围绕Apache Mesos进行思考,并且需要澄清一些事项。

Mesos的理解是,它是一个可执行文件,已安装在集群中的每个物理/ VM服务器(“节点”)上,然后提供Java API(以某种方式)将每个单独的节点视为计算资源的集合池( CPU / RAM /等)。因此,对于使用Java API进行编码的程序,他们只能看到一组资源,而不必担心代码的部署方式/位置。

因此,对于我来说,我在这里的理解可能根本上是错误的(在这种情况下,请纠正我!)。但是,如果我对目标感兴趣,那么Java API(由Mesos提供)如何允许Java客户端利用这些资源?!有人可以举一个实际的Mesos示例吗?


更新资料

看看下面我的可怕图画。如果我理解正确的Mesos架构,我们有3个物理服务器集群(phys01phys02phys03)。这些物理设备都在运行Ubuntu主机(或其他)。通过管理程序(例如Xen),我们可以运行1个以上的VM。

我对Docker和CoreOS感兴趣,因此在本示例中将使用它们,但是我猜想这可能适用于其他非容器设置。

因此,在每个VM上都有CoreOS。在每个CoreOS实例上运行的都是Mesos可执行文件/服务器。集群中的所有Mesos节点将它们下面的所有内容视为一个资源池,并且可以将工件任意部署到Mesos集群,Mesos会确定实际将它们部署到哪个CoreOS实例。

运行在Mesos之上的是“ Mesos框架”,例如Marathon或Kubernetes。在Kubernetes内部运行的是各种Docker容器(C1- C4)。

在此处输入图片说明

对Mesos的这种理解或多或少是正确的?

前卫

您的总结几乎是正确的,但并不反映mesos所代表的本质。该项目背后的公司Mesosphere的愿景是创建一个“数据中心操作系统”,而Mesos是其内核,类似于普通OS的内核。该API不限于Java,您可以使用C,C ++,Java / Scala或Python。如果您已经设置了mesos集群(如您在问题中所描述的那样)并且想要使用您的资源,则通常通过框架执行此操作,而不是直接在该框架上运行工作负载。这并不意味着这很复杂,这是Scala中一个非常小的示例,它演示了这一点。存在多种流行的分布式数据处理系统的框架,例如Apache SparkApache Cassandra还有其他框架,例如数据中心级别的Chronos a cron或Marathon,它们允许您运行基于Docker的应用程序。

更新:

是的,mesos会注意群集中的位置,因为内核就是这样做的-调度和管理有限的资源。但是,您草绘的设置提出了几个明显的问题。

mesos下面的层:在CoreOS上安装mesos是可能的,但我认为这很麻烦。这不是运行mesos的典型情况-通常将其移动到可能的最低层(在您的情况下在Ubuntu之上)。因此,我希望您有充分的理由运行CoreOS虚拟机监控程序。

中层以上的层:Kubernetes ist可以作为框架和中层空间使用,似乎为此付出了很多努力。但是,毫无疑问,在功能方面存在部分重叠-特别是在调度方面。如果要基于容器计划基本工作负载,则最好选择Marathon或将来使用Aurora因此,在这里我也希望您有充分的理由进行这种安排。旁注:Kubernetes与Marathon相似,但采用了更广泛的方法,并且自以为是。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

@Basic批注实际上是做什么的?

来自分类Dev

Kubernetes实际上是做什么的?

来自分类Dev

printf或任何输出函数实际上是做什么的?

来自分类Dev

to_i参数库实际上是做什么的?

来自分类Dev

->>实际上是做什么的?

来自分类Dev

SAFESEH:NO选项实际上是做什么的

来自分类Dev

JUnit 4 @Test批注实际上是做什么的

来自分类Dev

session_register_shutdown实际上是做什么的?

来自分类Dev

cURL上的-u标志实际上是做什么的?

来自分类Dev

NSString的isLike:实际上是做什么的?

来自分类Dev

debug和packageName字段实际上是做什么的?

来自分类Dev

do-release-upgrade实际上是做什么的?

来自分类Dev

百胜实际上是做什么的?

来自分类Dev

std :: vector :: swap实际上是做什么的?

来自分类Dev

avs-vault实际上是用来做什么的?

来自分类Dev

ServletResponse的setContentLength()方法实际上是做什么的?

来自分类Dev

gitpod是什么:它实际上是做什么的?

来自分类Dev

此功能实际上是做什么的?

来自分类Dev

“ MOV AX,[BX]”实际上是做什么的?

来自分类Dev

百胜实际上是做什么的?

来自分类Dev

“ GET_ACCOUNTS”实际上是做什么的?

来自分类Dev

do-release-upgrade实际上是做什么的?

来自分类Dev

“ omega”在这里实际上是做什么的?

来自分类Dev

/ dev中的设备文件实际上是做什么的?

来自分类Dev

Xtend在Eclipse中实际上是做什么的?

来自分类Dev

固件包:它们实际上是做什么的?

来自分类Dev

“ set keymap vi”实际上是做什么的?

来自分类Dev

“ __COMPAT_LAYER”实际上是做什么的?

来自分类Dev

Windows的蓝光滤镜-它实际上是做什么的?

Related 相关文章

热门标签

归档