DCOS服务没有明显原因被卡住

时间:2018-12-20 18:20:56

标签: mesos dcos

我的服务很可能由于资源不可用而被卡住

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%确定我所请求的cpumemory可用;

此外,这个角色约束还没有得到满足?

编辑:尽管是这样的事实:当悬停在GUI上时,它对CPU(我找不到)表示Requested: 0.4 / Received 4

并且此stil失败。

编辑:here是具有广泛的中庸奴隶信息的要旨

2 个答案:

答案 0 :(得分:0)

在DCOS中,您可以轻松调试卡住的部署。 Here是指南。

基本上,您需要转到debug page,并且应该了解为什么资源报价被拒绝。

enter image description here

答案 1 :(得分:0)

  

此外,这个角色约束还没有得到满足?

角色,也称为“资源角色”,有助于将不同的资源组彼此分开。例如,在标准的DC / OS群集中,公共节点的所有资源都保留给角色slave_public

马拉松收到资源报价时,会考虑将这些资源保留给哪个角色。在您的情况下,马拉松拒绝了一项资源提议,因为这些资源不属于默认角色*

请在Mesos documentation中了解有关资源角色的更多信息。

我查看了要点/mesos/slaves端点的输出,发现在您的集群中所有代理都没有,但其中一个代理没有可用的资源来提供服务:

10.11.17.2310.11.17.25010.11.17.4110.11.17.7210.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可以给您更多的想法。