我想知道当启用 cgroup 时,在 Mesos 上细粒度模式下 Spark 的行为会是什么。
一个问题如下:当我在没有 cgroups 的情况下使用 Mesos+spark 时,它已经表明实际的 spark 执行器进程使用的内存至少比它向 Mesos 承诺的要多使用 10%。启用 cgroups 时,它会杀死 Spark-executors 吗?
其次,文件缓存是如何处理的?Spark 严重依赖文件缓存。文件缓存是否计入 Mesos 中的内存量?可能不会,但我们能影响这个吗?例如,理想情况下,我希望 Spark 总共使用 8GB,其中 5GB 应该用于 java 进程——假设 spark 运行良好并且不会增长超过 5GB——并且应该使用 3GB 作为文件缓存(最大)。
我希望有人有这方面的经验,因为为了自己测试这些东西,我必须通过集群系统管理员的大量支持请求,因为 cgroups 在某一时刻依赖于 root 凭据——我讨厌这样没有问过别人是徒劳的。