当 cpu 资源平均使用率为 71% 时,Mesos dcos 永远不允许服务启动

Mesos dcos never allows services to start when cpu resources avg used are 71%

我有一个问题,我们正在尝试 运行 我们的 mesos dcos 集群上的几个服务,有些是 运行ning spark 进程和一些 python 服务。因此,在我们的小型测试 mesos dcos 集群中,我们每天多次使用 70% cpus 资源。

人们想要开始的服务只是挂起等待 cpu 可以在从属节点上很好地满足但由于某些原因不允许分配的提议。

一个典型的例子是总共有 7 个 cpu 未使用和 1-3 个服务正在寻找 cpu 提供 0.5 到 2 cpu 个资源以供使用。可以满足。如果在视图中查看节点资源。

我的问题是,是否存在不允许同时分配超过 70% 的 cpu 的硬性限制?

这个限制是否有共鸣将其更改为更高的值会有什么影响?

最后我们修改谁的限制?

答案似乎是调试场景 1 的 mesospheres 文档中所述。

但问题不是角色问题,也不是我们试图直接分配超过集群可以处理的数量。 https://docs.mesosphere.com/1.11/tutorials/dcos-debug/scenarios/scen-1/ 问题是我们的一些服务保留了 cpu 资源。

reserved_resources":{"cassandra-role":{"disk":10496.0,"mem":5152.0,"gpus":0.0," cpus":1.6,"ports":"[7000-7001, 7199-7199, 9042-9042]"} "kafka-role":{"disk":5256.0,"mem":2080.0,"gpus":0.0,"cpus":1.1,"ports":[1025-1025]"}}

总计2.8或金币2.81

考虑到在这种情况下从节点最多有 4 cpus remning in 应该是 1.19,这是我可以请求并仍然获得资源的数量。

当试图找到答案时,这是非常误导的,因为 GUI 只显示已使用的而不是保留的。

我通过浏览找到了答案 https:///mesos/state-summary

只是为了再展示一件事,我发现一个节点是 "hostname":"1.0.1.199","port":5051,"attributes":{},"pid":"slave(1)@1.0.1.199:5051","registered_time":1526561517.17816,"reregistered_time":1526561517.17896,"resources":{"disk":119266.0,"mem":29476.0,"gpus":0.0,"cpus":4.0,"ports":[1025-2180, 2182-3887, 3889-5049, 5052-8079, 8082-8180, 8182-32000]"},"used_resources":{"disk":15752.0,"mem":6368.0,"gpus":0.0,"cpus":1.81,"ports":[1025-1025, 7000-7001, 7199-7199, 9042-9042]"},"offered_resources":{"disk":0.0,"mem":0.0,"gpus":0.0,"cpus":0.0},"reserved_resources":{"cassandra-role": {"disk":10496.0,"mem":5152.0,"gpus":0.0,"cpus":1.6,"ports":[7000-7001, 7199-7199, 9042 -9042]"},"kafka-role":{"disk":5256.0,"mem":2080.0,"gpus":0.0,"cpus":1.1,"ports" :[1025-1025]"}},"unreserved_resources":{"disk":103514.0,"mem":22244.0,"gpus":0.0,"cpus":1.3,"ports":[1026-2180, 2182-3887, 3889-5049, 5052-6999, 7002-7198, 7200-8079, 8082-8180, 8182 -9041, 9043-32000]"}

unreserved_resources: 给出 "cpus":1.3," 这个值我不明白为什么它是 1.3 而不是 1.19。鉴于1.19 是调试页面显示的内容以及我可以从服务器 1.0.1.199 请求和获取的内容。