我正在使用Python绑定(bind)运行Mesos / Deimos集群,但出现以下错误:F0719 03:26:17.994248 7 os.hpp:131] Expecting 'MESOS_SLAVE_PID' in environment variables
此错误显示在Mesos的Web界面中执行器的桶中。错误上方的行表示执行程序脚本已开始运行(我自己的日志消息)。
从执行程序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
最佳答案
您是否直接运行演示二进制文件?还是您为某些框架提供了executor_uri。
因为通常情况下,不希望执行程序直接启动。我们通过向框架提供executor_uri来指定执行者。因此,框架每次启动任务时:
1,Framework会将executor_uri和其他信息发送到从属服务器。
2,从站将使用该信息来获取执行程序,然后告诉容器化程序设置环境并启动执行程序。
仅供引用:
https://github.com/apache/mesos/blob/0ba6b89b7421d426709af5bf89fac138cf0ca63e/src/slave/containerizer/containerizer.cpp#L262
关于docker - Deimos在环境变量中期望 'MESOS_SLAVE_PID',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24873949/