【问题标题】:DC/OS has three roles, they are master, slave, slave_public, why can't put them on one host?DC/OS有三个角色,分别是master、slave、slave_public,为什么不能放在一台主机上呢?
【发布时间】:2016-10-25 08:24:48
【问题描述】:

我只是调查 DC/OS,发现 DC/OS 有三个角色:master、slave、slave_public,我想部署一个集群,可以在一台主机上托管 master、slave 或 slave_public 角色,但目前我可以'不要那样做。

我想知道为什么不能在设计时将它们放在一个主机上。如果我这样做,我能得到一些建议吗?

我只是有这个想法。如果我做不到,我会退出使用DCOS,我会使用mesos和马拉松。

有人跟我有这个想法吗?期待回复。

【问题讨论】:

    标签: master slave dcos


    【解决方案1】:

    这是设计使然,实际上正在努力加强机器是installed with only one role,因为事情不止一个。

    如果您尝试演示/试验 DC/OS 并且您只有一台机器,您可以使用虚拟机或 Docker 将一台机器划分为多个可以安装 DC/OS 的机器/部件。 dcos-vagrant 和 dcos-docker 可以为您提供帮助。

    就安装而言,这三个角色中的每一个的配置都相互不兼容。 “master”角色会导致在主机上启动/安装一大堆软件(Mesos-DNS、Mesos master、marathon、existor、zookeeper、3dt、adminrouter、rexray、spartan、navstar 等)各种端口。 “从属”角色使机器在代理上配置并启动了一个 mesos-agent(mesos 将 mesos-slave 重命名为 mesos-agent,因此断开连接)。 mesos-agent 配置为控制/大多数大于 1024 的端口到代理上由 mesos 框架启动的任务。其中一些端口被在主服务器上运行的服务使用,导致奇怪的冲突和难以修复的不良行为。

    在同一主机上运行“slave”和“slave_public”的情况下,这两者冲突更直接,因为它们都导致mesos-agent在主机上运行,​​配置略有不同。 mesos-agent (配置了“slave”角色的和配置了“slave_public”角色的都配置为侦听端口 5051。但只有其中一个可以使用它,因此您最终会使用其中一个代理没有功能。

    【讨论】:

      【解决方案2】:

      DC/OS 仅支持将节点作为主节点或代理(从节点)运行。您是正确的,Mesos 没有此限制。但 DC/OS 不仅仅是 Mesos/Marathon。为了启用 DC/OS 的所有附加功能,围绕 Mesos 和 Marathon 构建了各种组件。有时,这些组件的行为不同,无论它们是在主服务器上还是在代理上运行,而在其他时候,主服务器上存在的组件可能存在也可能不存在于代理上,反之亦然。所以在同一个节点上运行一个主节点和一个代理会导致冲突/问题。

      如果您希望在将解决方案扩展到更大的分布式系统之前运行一个小型开发设置DC/OS Vagrant 可能是一个很好的起点。

      【讨论】:

        猜你喜欢
        • 2017-01-09
        • 1970-01-01
        • 1970-01-01
        • 2011-10-01
        • 1970-01-01
        • 2011-02-05
        • 2015-06-04
        • 1970-01-01
        相关资源
        最近更新 更多