Deimos Ожидается «MESOS_SLAVE_PID» в переменных окружения

Я запускаю кластер Mesos/Deimos, используя привязки Python, и получаю следующую ошибку:

F0719 03:26:17.994248 7 os.hpp:131] Expecting 'MESOS_SLAVE_PID' in environment variables

Эта ошибка появляется в пайлере исполнителя в веб-интерфейсе Mesos. Строка над ошибкой указывает на то, что скрипт-исполнитель начал работать (мое собственное сообщение в журнале).

Ошибка возникает при запуске исполнителя из скрипта исполнителя Python, т.е. с этим

driver.run()

И ошибка связана с тем, что Mesos ожидает установки переменной среды MESOS_SLAVE_PID (см. https://github.com/apache/mesos/blob/master/src/exec/exec.cpp#L648). Однако Deimos, похоже, не устанавливает эту переменную по умолчанию (по крайней мере, в этом случае) в контейнере Docker (что, я думаю, должно быть).

РЕДАКТИРОВАТЬ: похоже, это ошибка в самом Деймосе. Вот соответствующий отчет об ошибке от меня: https://github.com/mesosphere/deimos/issues/ 43


person Daniel Kats    schedule 21.07.2014    source источник


Ответы (1)


Вы запускали двоичный файл демо напрямую? Или вы предоставили executor_uri какой-то структуре. Потому что обычно исполнитель не должен запускаться напрямую. Мы указываем исполнителя, предоставляя executor_uri фреймворку. Итак, каждый раз, когда фреймворк запускает задачу:

1, Framework отправит executor_uri среди другой информации подчиненному устройству. 2, Slave будет использовать информацию для получения исполнителя, а затем скажет контейнеризатору настроить среду и запустить исполнителя.

Для справки: https://github.com/apache/mesos/blob/0ba6b89b7421d426709af5bf89fac138cf0ca63e/src/slave/containerizer/containerizer.cpp#L262

person yifan    schedule 05.08.2014
comment
Удаленный исполнитель был предоставлен через URI - person Daniel Kats; 07.08.2014