Apache spark 管理簇和纱线利用率
在我们的集群中,容器的最小大小为8GB 大多数配置单元查询使用1个容器。(但肯定不会使用所有分配的内存) 一些spark作业只使用2GB或4GB 根据观察,我们没有为所有查询使用那么多内存。 所有的容器都用完了 那么,我们是否可以有效地进行管理 我们总共有30个vCore,总共有275 GB的内存 由于我们必须为每个容器分配1个V核心,因此每个瓶子可容纳30个容器 有没有一种方法可以有效地利用所有8gb的容器? 或者增加集装箱数量或者做一些其他事情。Apache spark 管理簇和纱线利用率,apache-spark,hadoop,yarn,capacity-planning,Apache Spark,Hadoop,Yarn,Capacity Planning,在我们的集群中,容器的最小大小为8GB 大多数配置单元查询使用1个容器。(但肯定不会使用所有分配的内存) 一些spark作业只使用2GB或4GB 根据观察,我们没有为所有查询使用那么多内存。 所有的容器都用完了 那么,我们是否可以有效地进行管理 我们总共有30个vCore,总共有275 GB的内存 由于我们必须为每个容器分配1个V核心,因此每个瓶子可容纳30个容器 有没有一种方法可以有效地利用所有8gb的容器? 或者增加集装箱数量或者做一些其他事情。 任何建议都将有助于当你说最小容器大小时,你是
任何建议都将有助于当你说最小容器大小时,你是指纱线还是
纱线.调度器.最小分配mb
?因此,由于我们有30个vCore,所以将其设置为8gb,我可以将其设置为低于8gb吗?在这种情况下,容器基本上可以工作吗。请容忍我,因为我是这里的新手。如果每个容器需要1个核心,那么我最多可以使用30个容器。这是正确的理解吗?Spark
,我不确定,但我知道对于Tez
:Divide RAM/CORES=Max Tez Container size
,所以在我的例子中:128/32=4GB
<纱线上的代码>2-4GB通常比制作大型容器要好…好的,谢谢,如果我们通过一个hql文件运行多个TEZ查询,它们会在一个容器中运行吗?(虽然可能有不同的DAG id,但有相同的appid)它们将按顺序依次运行,因此需要1个容器<代码>设置hive.prewarm.enabled=true和hive.prewarm.numcontainers
获取可重复使用的容器,并分别提交以获得并行(当然取决于纱线队列设置)