2016-12-13 1 views
0

У меня есть Мастер Mesos, доступный через публичный IP.Марафон говорит «Недостаточно ресурсов» для задачи, которая меньше, чем доступно

У меня есть раб, который предлагает некоторые ресурсы.

Я пытаюсь развернуть небольшое приложение, но Marathon ответить

25646:[2016-12-13 15:26:57,440] INFO Offer [bd40f00f-ce24-4014-b1b1-82db64e68c10-O92]. Considering resources with roles {*} without resident reservation labels. Insufficient ports in offer for run spec [/nginx-test-n2] (mesosphere.marathon.tasks.PortsMatcher:marathon-akka.actor.default-dispatcher-1073) 
25647:[2016-12-13 15:26:57,440] INFO Offer [bd40f00f-ce24-4014-b1b1-82db64e68c10-O92]. Insufficient resources for [/nginx-test-n2] (need cpus=0.2, mem=32.0, disk=0.0, gpus=0, ports=(), available in offer: [id { value: "bd40f00f-ce24-4014-b1b1-82db64e68c10-O92" } framework_id { value: "40aadcc7-8e0f-4634-af46-29d9c33bc03e-0000" } slave_id { value: "bd40f00f-ce24-4014-b1b1-82db64e68c10-S1" } hostname: "myproj-slave-vm-1" resources { name: "disk" type: SCALAR scalar { value: 3985.0 } role: "*" } resources { name: "cpus" type: SCALAR scalar { value: 0.6 } role: "*" } resources { name: "mem" type: SCALAR scalar { value: 6478.0 } role: "*" } url { scheme: "http" address { hostname: "myproj-slave-vm-1" ip: "10.1.10.20" port: 5051 } path: "/slave(1)" }] (mesosphere.mesos.TaskBuilder$:marathon-akka.actor.default-dispatcher-1073) 

Который раз разложенном является:

25628:[2016-12-13 15:26:52,425] INFO Offer [bd40f00f-ce24-4014-b1b1-82db64e68c10-O91]. 
Insufficient resources for [/nginx-test-n2] (need 
    cpus=0.2, 
    mem=32.0, 
    disk=0.0, 
    gpus=0, 
    ports=(), 
available in offer: 
[id { 
     value: "bd40f00f-ce24-4014-b1b1-82db64e68c10-O91" 
    } 
    framework_id { 
     value: "40aadcc7-8e0f-4634-af46-29d9c33bc03e-0000" 
    } 
    slave_id { 
     value: "bd40f00f-ce24-4014-b1b1-82db64e68c10-S1" 
    } 
    hostname: "myproj-slave-vm-1" 
    resources { 
     name: "disk" 
     type: SCALAR scalar { 
      value: 3985.0 
     } 
     role: "*" 
    } 
    resources { 
     name: "cpus" 
     type: SCALAR scalar { 
      value: 0.6 
     } 
     role: "*" 
    } 
    resources { 
     name: "mem" 
     type: SCALAR scalar { 
      value: 6478.0 
     } 
     role: "*" 
    } 
    url { 
     scheme: "http" 
     address { 
      hostname: "myproj-slave-vm-1" 
      ip: "10.1.10.20" 
      port: 5051 
     } 
     path: "/slave(1)" 
    } 
] 

Я не могу понять, почему Marathon говорит «Недостаточно ресурсов», так как кажется, из журнала, что этого достаточно ...

+1

Предложение, похоже, не хватает ресурсов порта. Вы уверены, что агент настроен правильно? – Tobi

+0

Thanx Tobi, вы его заметили :) – matt

ответ

0

Я решил это, добавив resources=ports:[1-65000] к команде выполнения агента:

/usr/sbin/mesos-slave --master=10.2.0.56:5050 --work_dir=/var/lib/mesos/agent --containerizers=docker --executor_registration_timeout=3mins --log_dir=/var/log/mesos --resources=ports:[1-65000] --advertise_ip=10.1.10.20 --advertise_port=5051 
+1

Я бы не добавил порты 1-65000, потому что тогда вы также можете включить SSH, DNS, Mesos Master, Mesos Agent и т. Д. Порты ... Диапазон портов по умолчанию - 31000-32000 IMO – Tobi

+0

Да ты прав. Это был бы второй шаг после попытки открыть все для отладки :) – matt

+0

Ну, вы можете вызвать проблему с этими настройками. Я постараюсь сделать это «правильным» с самого начала :-) Но поздравляю с тем, что он работает – Tobi

Смежные вопросы