【发布时间】:2022-01-08 16:54:31
【问题描述】:
我很难理解纱线容器是如何受限于分配的资源,尤其是 CPU。
我在 YARN 集群中运行 Spark 或 Flink 作业。每个执行器或任务管理器都请求一个具有 1 个 CPU 的纱线容器。基本上,容器的数量等于主机中可用的 CPU 数量。
我了解 YARN 监控内存使用情况,如果容器超过限制,它会发送终止信号。我想知道 CPU 调度是如何工作的。
我在 YARN 容器 (1CPU) 中的 JVM 作业可以尝试创建多个 CPU 密集型工作线程。 JVM 会被限制为 1 个 CPU 内核来执行这些线程,还是会从其他容器中窃取资源?从技术上讲,一个 YARN 容器会影响其他容器的 CPU 性能吗?
假设我在主机中有 10 个 CPU,我创建了一个容器。容器 CPU 性能是否会是主机 CPU 性能的 10%?
【问题讨论】:
标签: jvm containers hadoop-yarn