2014-10-27 57 views
16

Apache Mesos的“主”节点可以与Mesos的“奴隶”节点位于同一台机器上吗?类似地(对于高可用性(HA)部署),Mesos“主”选中使用的Apache Zookeeper节点是否可以部署在与Mesos“从”节点相同的机器上?Mesos的'master'和'slave'节点可以部署在同一台机器上吗?

Mesos建议3'主站'用于HA部署,Zookeeper建议5个节点用于它的仲裁选举系统。如果让这些服务与Mesos的“奴隶”进程一起运行,而不是让8台机器有效地进行“非生产性”任务,那将是非常好的。

如果这样的设置是可行的,这样的设置有什么优点/缺点?

谢谢!

回答

30

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

通常我们建议在与主站相同的节点上运行ZK,但是如果您有额外的ZK,那么您肯定可以在从站上运行它们,或者按照您认为合适的方式进行混合匹配,只要所有主/从/框架节点可以到达ZK节点,并且所有从节点都可以到达主节点。

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

一旦你的集群变大了(特别是> 100个节点),主/从主机的网络流量以及它的CPU /内存利用率就变得足够重要,以至于你不想在同一节点上运行一个mesos slave大师。即使在大规模的情况下将ZK与您的主人共同定位也不失为一件好事。

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

相关问题