gpt4 book ai didi

linux - 运行 mesos-local 来测试框架失败,权限被拒绝

转载 作者:太空宇宙 更新时间:2023-11-04 04:04:54 25 4
gpt4 key购买 nike

我和一些同事共享一个linux盒子,他们都在mesos生态圈中开发。测试我经常使用的框架的最方便方法是运行mesos-local.sh(将主从服务器合并为一个)。

只要我的同事没有人这样做,那效果就很好。一旦其中一个人使用了该快捷方式,其他人就无法再这样做,因为主特定临时文件存储在 /tmp/mesos 中,并且运行该 mesos 实例的用户将拥有这些文件和文件夹的所有权。因此,当另一个用户尝试执行相同的操作时,尝试从框架运行任何任务时会发生类似以下情况的情况;

F0207 05:06:02.574882 20038 paths.hpp:344] CHECK_SOME(mkdir): Failed to create executor directory '/tmp/mesos/0/slaves/201402051726-3823062160-5050-31807-0/frameworks/201402070505-3823062160-5050-20015-0000/executors/default/runs/d46e7a7d-29a2-4f66-83c9-b5863e018fee'Permission denied

不幸的是,mesos-local.sh 不提供用于覆盖该路径的标志,而 mesos-master.sh 通过 --work_dir=VALUE 提供。

因此,明显的解决方法是不使用 mesos-local.sh ,而是将主服务器和从服务器作为单独的实例。虽然不太方便...

最佳答案

无论您运行 mesos-master.sh 还是 mesos-local.sh,防止该问题的最简单解决方法都是修补 bin/mesos-master-flags.sh 中的环境设置。

该文件由 mesos-master 本身和 mesos-local 使用,因此它是覆盖工作目录的完美位置。

编辑bin/mesos-master-flags.sh并向其中添加以下内容;

导出 MESOS_WORK_DIR=/tmp/mesos-"$USER"

现在运行bin/mesos-local.sh,您应该在其日志输出的开头看到类似的内容;

I0207 05:36:58.791069 20214 state.cpp:33] Recovering state from '/tmp/mesos-tillt/0/meta'

这样,所有相应地修补了 mesos-master-flags.sh 的用户都将拥有自己的个人工作目录设置,并且不再互相踩对方的脚。

如果您不想修补任何文件,您也可以通过手动设置环境变量来简单地预先启动该 mesos 实例:

MESOS_WORK_DIR=/tmp/mesos-foo bin/mesos-local.sh

关于linux - 运行 mesos-local 来测试框架失败,权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21620195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com