所以我有一个拥有7个工作节点的cloudera集群。纱线:如何利用完整的集群资源?
- 30GB RAM
- 4个vCPU
下面是我的一些配置,我在我的集群的优化性能的重要发现(从谷歌)。我正在与运行:
yarn.nodemanager.resource.cpu-vcores
=> 4yarn.nodemanager.resource.memory-mb
=> 17GB(REST保留用于OS和其他进程)mapreduce.map.memory.mb
=> 2GBmapreduce.reduce.memory.mb
=> 2GB- 运行
nproc
=> 4(可用处理单元的数量)
现在我关心的是,何时我看看我的ResourceManager
,我看到可用内存为119 GB
这很好。但是当我运行繁重的sqoop
作业,并且我的集群处于高峰时,它仅使用内存的~59 GB
,而未使用内存~60 GB
。
我看到的一种方法,可以修复这个未使用的内存问题,将map|reduce.memory
增加到4 GB,这样我们就可以使用高达16 GB的每个节点。
其他方法是增加容器的数量,我不知道如何。
- 4个核心×7个节点= 28个可能的容器。 3正在被其他进程使用,目前只有5个可用于sqoop作业。
什么应该是正确的配置,以提高群集性能在这种情况下。我可以增加容器的数量,比如说每个核心有两个容器。这是建议?
有关群集配置的任何帮助或建议将不胜感激。谢谢。
你使用DefaultResourceCalculator吗?还是您配置使用DominantResourceCalculator? – Nicomak
你可以发布你的'yarn-site.xml'和'mapred-site.xml'配置吗? – Nicomak
我正在使用cloudera安装。找不到'yarn.nodemanager.container-monitor.resource-calculator.class'属性。如果可以的话,使用FairScheduler作为scheduler.class。我应该从'yarn-site.xml'和'mapred-site.xml'给出任何特定的配置吗? – PratPor