1

我正在使用 Python 绑定运行 Mesos/Deimos 集群,但出现以下错误:

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

这个错误显示在 Mesos 的 web 界面中执行程序的 pailer 中。错误上面的那行表示执行器脚本已经开始运行(我自己的日志消息)。

从执行程序 Python 脚本运行执行程序时会发生错误,即使用此

driver.run()

该错误与 Mesos 期望设置MESOS_SLAVE_PID环境变量有关(请参阅https://github.com/apache/mesos/blob/master/src/exec/exec.cpp#L648)。然而,Deimos 似乎并没有在 Docker 容器中默认设置这个变量(至少在这种情况下)(我认为应该这样做)。

编辑:这似乎是 Deimos 本身的一个错误。这是我的相关错误报告:https ://github.com/mesosphere/deimos/issues/43

4

1 回答 1

0

您是否直接运行了演示二进制文件?或者您是否将 executor_uri 提供给某个框架。因为通常情况下,执行程序不会被直接启动。我们通过向框架提供 executor_uri 来指定执行者。所以每次框架启动一个任务时:

1,Framework 会将 executor_uri 和其他信息发送给 slave。2、Slave 将使用这些信息来获取 executor,然后告诉 containerizer 设置环境并启动 executor。

仅供参考: https ://github.com/apache/mesos/blob/0ba6b89b7421d426709af5bf89fac138cf0ca63e/src/slave/containerizer/containerizer.cpp#L262

于 2014-08-05T20:20:29.397 回答