apachemesos“主”节点能否与mesos“从”节点位于同一台机器上?类似地(对于高可用性(ha)部署),可以将mesos“主”选择中使用的apachezookeeper节点部署在与mesos“从”节点相同的机器上吗?
mesos建议ha部署使用3个“主节点”,zookeeper建议其仲裁选举系统使用5个节点。最好让这些服务沿着mesos的“从”进程运行,而不是将8台机器提交给有效的“非生产”任务。
如果这样的设置是可行的,那么这种设置的利弊是什么?
谢谢!
apachemesos“主”节点能否与mesos“从”节点位于同一台机器上?类似地(对于高可用性(ha)部署),可以将mesos“主”选择中使用的apachezookeeper节点部署在与mesos“从”节点相同的机器上吗?
mesos建议ha部署使用3个“主节点”,zookeeper建议其仲裁选举系统使用5个节点。最好让这些服务沿着mesos的“从”进程运行,而不是将8台机器提交给有效的“非生产”任务。
如果这样的设置是可行的,那么这种设置的利弊是什么?
谢谢!
1条答案
按热度按时间iq3niunx1#
您完全可以在同一个节点上运行主进程、从进程和zk进程。您甚至可以在同一个节点上运行多个主进程和从进程,只要您为它们提供每个唯一的端口,但这只对测试集群有用。
通常,我们建议在与主节点相同的节点上运行zk,但是如果您有额外的zk,您当然可以在从属节点上运行它们,或者根据需要进行混合和匹配,只要所有主/从属/框架节点都可以到达zk节点,并且所有从属节点都可以到达主节点。
对于较小的集群(<10个节点),在每个主节点上运行一个从属进程是有意义的,特别是因为备用主节点的作用不大。即使是小型集群的活动主机也只使用少量的cpu、内存和网络资源。只需确保调整从属服务器上的--resources,以考虑主服务器的资源使用情况。
一旦集群变大(尤其是>100个节点),主节点之间的网络通信量及其cpu/内存利用率就会变得非常重要,以至于您不想在主节点上运行mesos从节点。它应该是好的共同定位zk与您的主人,即使在大范围内。
您没有明确询问,但我还将讨论在何处运行框架调度器(例如spark、marathon或chronos)。这些组件可以与任何其他组件位于同一位置,但它们实际上只需要能够到达主节点和zk节点,因为与从节点的所有通信都通过主节点进行。一些客户在主节点上运行调度程序,一些在边缘节点上运行调度程序(这样用户就不能访问从属节点),还有一些客户使用marathon之类的元框架在从属节点上运行其他调度程序作为mesos任务。