我的服务很可能由于资源不可用而被卡住
dcos marathon debug summary /my-service
RESOURCE REQUESTED MATCHED PERCENTAGE
ROLE [*] 5 / 6 83.33%
CONSTRAINTS --- 5 / 5 100.00%
CPUS 4 0 / 5 0.00%
MEM 416 0 / 0 ---
DISK 10 0 / 0 ---
PORTS [0] 0 / 0 ---
我100%确定我所请求的cpu
和memory
可用;
此外,这个角色约束还没有得到满足?
编辑:尽管是这样的事实:当悬停在GUI上时,它对CPU(我找不到)表示Requested: 0.4
/ Received 4
并且此stil失败。
编辑:here是具有广泛的中庸奴隶信息的要旨
答案 0 :(得分:0)
答案 1 :(得分:0)
此外,这个角色约束还没有得到满足?
角色,也称为“资源角色”,有助于将不同的资源组彼此分开。例如,在标准的DC / OS群集中,公共节点的所有资源都保留给角色slave_public
。
马拉松收到资源报价时,会考虑将这些资源保留给哪个角色。在您的情况下,马拉松拒绝了一项资源提议,因为这些资源不属于默认角色*
。
请在Mesos documentation中了解有关资源角色的更多信息。
我查看了要点/mesos/slaves
端点的输出,发现在您的集群中所有代理都没有,但其中一个代理没有可用的资源来提供服务:
10.11.17.23
,10.11.17.250
,10.11.17.41
,10.11.17.72
和10.11.17.123
只有2个CPU。
10.11.16.12
确实有4个CPU,但是所有这些CPU都是为spave_public
角色保留的。
10.11.17.46
总共有8个CPU,为slave_public
角色保留了2.5个CPU,其余的5.5个对于/my-service
应该确实足够。出于某种原因,该Mesos代理似乎没有将资源报价发送给主服务器。
检查此代理(journalctl -u dcos-mesos-slave
)的日志中是否有任何错误。它在集群中的注册时间比其他代理晚了四个小时(13:39:44与09:42:51),这有点可疑。
如果Mesos从该代理向马拉松发送任何资源报价,请检查主日志(journalctl -u dcos-mesos-master
)。
检查Marathon日志(journalctl -u dcos-marathon
)是否Marathon从该代理那里收到资源报价,如果是,则拒绝原因。
This Mesosphere blog article可以给您更多的想法。