Constraints 使用马拉松约束的问题

Constraints 使用马拉松约束的问题,constraints,mesos,mesosphere,marathon,Constraints,Mesos,Mesosphere,Marathon,我正在运行mesos+马拉松群集,目前为止一切正常。但我不知道如何在马拉松比赛中使用约束 我用属性标记了我的mesos奴隶 $ cat /etc/mesos-slave/attributes/category SERVICE 在我添加的容器的马拉松描述中 "constraints": [["category", "CLUSTER", "SERVICE"]] 但是当我部署我的容器时,我只会得到“信息,没有匹配的报价”,我无法找出我做错了什么 Jun 30 08:08:48 ip-172-16-

我正在运行mesos+马拉松群集,目前为止一切正常。但我不知道如何在马拉松比赛中使用约束

我用属性标记了我的mesos奴隶

$ cat /etc/mesos-slave/attributes/category
SERVICE
在我添加的容器的马拉松描述中

"constraints": [["category", "CLUSTER", "SERVICE"]]
但是当我部署我的容器时,我只会得到“信息,没有匹配的报价”,我无法找出我做错了什么

Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]: [2015-06-30 08:08:48,812] INFO No matching offer for <CONTAINER> (need cpus=0.1, mem=3072.0, disk=0.0,
ports=List(0)) : id {
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:   value: "20150616-090516-2130907308-5050-1304-O1291851"
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]: }
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]: framework_id {
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:   value: "20150330-112621-2130907308-5050-25763-0000"
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]: }
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]: slave_id {
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:   value: "20150616-090516-2130907308-5050-1304-S49"
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]: }
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]: hostname: "<HOSTNAME>"
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]: resources {
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:   name: "cpus"
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:   type: SCALAR
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:   scalar {
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:     value: 0.3999999999999999
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:   }
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:   role: "*"
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]: }
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]: resources {
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:   name: "mem"
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:   type: SCALAR
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:   scalar {
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:     value: 4911.0
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:   }
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:   role: "*"
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]: }
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]: resources {
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:   name: "disk"
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:   type: SCALAR
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:   scalar {
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:     value: 14896.0
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:   }
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:   role: "*"
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]: }
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]: resources {
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:   name: "ports"
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:   type: RANGES
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:   ranges {
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:     range {
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:       begin: 31003
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:       end: 32000
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:     }
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:   }
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:   role: "*"
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]: }
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]: attributes {
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:   name: "category"
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:   type: TEXT
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:   text {
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:     value: "SERVICE"
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:   }
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]: }
Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:  (mesosphere.mesos.TaskBuilder:47)    

Jun 30 08:08:48 ip-172-16-3-95 marathon[13100]:[2015-06-30 08:08:48812]信息无匹配报价(需要CPU=0.1,mem=3072.0,磁盘=0.0,
端口=列表(0)):id{

6月30日08:08:48 ip-172-16-3-95马拉松[13100]:值:“20150616-090516-2130907308-5050-1304-O1291851”
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:}
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:框架{
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:值:“20150330-112621-2130907308-5050-25763-0000”
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:}
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:奴隶身份证{
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:值:“20150616-090516-2130907308-5050-1304-S49”
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:}
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:主机名:“
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:资源{
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:名称:“CPU”
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:类型:标量
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:标量{
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:值:0.399999999999
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:}
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:角色:“*”
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:}
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:资源{
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:名称:“mem”
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:类型:标量
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:标量{
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:数值:4911.0
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:}
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:角色:“*”
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:}
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:资源{
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:名称:“磁盘”
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:类型:标量
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:标量{
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:数值:14896.0
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:}
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:角色:“*”
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:}
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:资源{
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:名称:“港口”
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:类型:范围
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:范围{
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:射程{
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:开始:31003
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:结束:32000
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:}
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:}
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:角色:“*”
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:}
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:属性{
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:名称:“类别”
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:类型:文本
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:文本{
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:价值:“服务”
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:}
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:}
6月30日08:08:48 ip-172-16-3-95马拉松[13100]:(中间层。中间层。任务生成器:47)

我有什么遗漏吗?

从日志中可以看出,您的任务需要mem=3072.0,但只提供1903.0。即使没有约束,您也应该看到相同的错误。减少任务的内存需求,或者增加节点上Mesos/Marathon的可用内存。

感谢Adam的回答。我拿错了日志,我把它改成了更清晰的日志。但你在我之前发布的日志中是对的,原因是拉姆。但接下来是我错过了什么还是我做错了什么?如果您没有看到“提供未满足应用程序的约束…冲突约束为:…”日志警告,那么这不是约束匹配问题。我能想到的另一件事是,您要求的是不在31003-32000范围内的
ports=List(0)
。但是,指定端口0应声明任何可用端口并将其映射到$PORT0。在前面的日志行中还有其他相关信息吗?6月30日08:08:48 ip-172-16-3-95 marathon[13100]:[2015-06-30 08:08:48812]警告优惠不满足应用程序[]的约束条件。6月30日08:08:48 ip-172-16-3-95马拉松[13100]:冲突约束为:[字段:“类别”6月30日08:08:48 ip-172-16-3-95马拉松[13100]:操作员:集群6月30日08:08:48 ip-172-16-3-95马拉松[13100]:值:“服务”6月30日08:08:48 ip-172-16-3-95马拉松[13100]:](中间层。中间层。任务生成器:190)我收到了你建议的两条信息!我还可以向您提供其他信息吗?在“无匹配报价”消息之前是否有“冲突约束”日志消息?因为冲突的约束看起来是“[field:“category”,operator:CLUSTER,value:“SERVICE”]”,并且提供了“attributes{name:“category”,type:TEXT,TEXT{value:“SERVICE”}”,我希望匹配这些属性。我能想到的唯一一件事是,你得到的报价符合限制条件,但没有足够的资源;或者您收到的报价实际上与约束不匹配。有多少个从属服务器设置了该属性?全部的只有几个?在这个集群中,我只有5个从节点,2个设置了这个值。其余节点具有不同的o