Mesos 在 Mac 上只支持“Posix”隔离,这确实是为了监控而不是实际的资源限制,所以在 Mac 上测试 Mesos 将无法演示真正的资源隔离。
如果你在 Linux 机器/VM 上测试 Mesos,你可以设置:
--isolation='cgroups/cpu,cgroups/mem'
当启动每个从属以启用 cgroups 隔离时,这将创建一个容器并在其中运行您的脚本/进程。当容器/进程超过其 cpu 份额(非固定 cpus)时,cgroups 隔离器将限制 cpu 利用率,如果超过其内存限制,将终止进程(销毁容器)。
另请注意,Mesos 0.21 现在支持网络隔离器和可插拔隔离器模块,因此您可以构建自己的 gpu 隔离器、缓存隔离器等。
如果要启用 Docker 容器化程序(0.20+),只需设置:
--containerizers='docker,mesos'
启动从属服务器时,您可以启动任意 docker 镜像并在其中运行命令。Docker 在底层仍然使用 cgroups,因此 cgroups 隔离器与您在 Mesos 上运行的 Docker 镜像完全兼容。
如果您使用的是 Mesosphere 包,您可以通过在 中创建配置文件将选项传递给 Mesos 从站/etc/mesos-slave
,例如:
echo 'docker,mesos' > /etc/mesos-slave/containerizers