- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我会在分布式环境中最大限度地提高 Hadoop 性能(使用 Apache Spark 和 Yarn)并且我正在遵循 blog post of Cloudera 上的提示使用此配置:
6 nodes, 16 core/node, ram 64G/node
建议的解决方案是:--num-executors 17 --executor-cores 5 --executor-memory 19G
但我不明白为什么他们使用 17 个 num 执行器(换句话说每个节点 3 个执行器)。
我们的配置是:
8 nodes, 8 core/node, ram 8G/node
什么是最好的解决方案?
最佳答案
你的内存很低。我希望这会更高。
但是,我们从 8 个节点和 8 个核心开始。为了确定我们的最大执行器,我们执行节点*(核心-1)= 56。从每个节点减去 1 个核心用于管理。
所以我会从56个executor,1个executor core,1G ram。
如果您遇到内存不足的问题,请将内存加倍,让执行程序增加内核。28个执行器,2个执行器核心,2G ram但是你的最大执行者会更少,因为执行者必须适合一个节点。您最多可以获得总共 24 个分配的容器。
接下来我会在 4 核之前尝试 3 核,因为 3 核将适合每个节点上的 2 个执行器,而 4 核将具有与 7 相同的执行器。
或者,您可以直接跳到...8 个执行器,7 个内核,7gig ram(想为集群的其余部分留下一些)。
我还发现如果 CPU 调度被禁用,yarn 会覆盖我的核心设置,并且它始终保持在 1,无论我的配置如何。还必须更改其他设置才能启用此功能。
yarn.schedular.capacity.resource-calculator=org.apache.hadoop.yarn.util.resource.DominantResourceCalculator
关于performance - Apache Spark 分布式环境调优,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35317305/
我是一名优秀的程序员,十分优秀!