Mesos 'master' 和 'slave' 节点可以部署在同一台机器上吗?



Apache Mesos的"主"节点是否可以与Mesos"从"节点位于同一台机器上?同样(对于高可用性(HA)部署),Mesos"主"选举中使用的Apache Zookeeper节点是否可以与Mesos的"从"节点部署在同一台机器上?

Mesos建议HA部署使用3个"master",Zookeeper建议其法定人数选举系统使用5个节点。如果能让这些服务与Mesos的"从属"进程并行运行,而不是让8台机器执行有效的"非生产性"任务,那就太好了。

如果这种设置是可行的,那么这种设置的利弊是什么?

谢谢!

您肯定可以在同一节点上运行master、slave和zk进程。您甚至可以在同一节点上运行多个主进程和从进程,前提是为它们提供每个唯一的端口,但这只对测试集群有用。

通常,我们建议在与主节点相同的节点上运行ZK,但如果您有额外的ZK,您当然可以在从属节点上运行它们,或者根据您的需要进行混合和匹配,只要所有主/从/框架节点都可以到达ZK节点,并且所有从属节点都可以访问主节点。

对于较小的集群(<10个节点),在每个主机上运行一个从进程是有意义的,尤其是因为备用主机不会做太多工作。即使是小型集群的活动主机也只使用少量的cpu、内存和网络资源。只需确保调整从属服务器上的--resources,以考虑到主服务器的资源使用情况。

一旦集群变得更大(尤其是>100个节点),主节点的网络流量及其cpu/内存利用率就会变得足够重要,以至于您不想在与主节点相同的节点上运行mesos从节点。即使在大规模的情况下,也可以与您的大师共同定位ZK。

你没有特别问,但我也会讨论在哪里运行你的框架调度器(例如Spark、Marathon或Chronos)。这些组件可以与任何其他组件位于同一位置,但它们只需要能够到达主节点和zk节点,因为与从节点的所有通信都通过主节点。一些客户在主节点上运行调度器,一些客户在边缘节点上运行它们(因此用户无法访问从属节点),而另一些客户则使用Marathon等元框架在从属节点上运行其他调度器作为Mesos任务。

相关内容

最新更新