在我们的发现集群上提高纱线容器利用率的建议

时间:2019-03-20 07:28:43

标签: hadoop mapreduce yarn apache-tez planning

当前设置

  • 我们有10个节点的发现集群。
  • 该集群的每个节点都有24个核心和264 GB内存,为后台进程保留一些内存和CPU,我们计划使用240 GB内存。
  • 现在,在容器设置方面,由于每个容器可能需要1个内核,因此max我们最多可以有24个容器,每个容器具有10GB内存。
  • 通常,群集的容器具有1-2 GB的内存,但是我们受限于我们拥有的可用核心,或者我可能缺少某些东西

问题陈述

  • 由于我们的集群已被数据科学家和分析人员广泛使用,仅拥有24个容器是不够的。这导致大量的资源争用。

  • 有什么办法可以增加容器数量?

我们正在考虑的选项

  • 如果我们要求团队运行多个tez查询(不是单独进行),而是在一个文件中运行,那么我们最多将保留一个容器。

请求

  1. 还有其他方法可以管理我们的发现集群。
  2. 是否有可能减小容器尺寸。
  3. vcore(这是一个逻辑概念)可以被多个容器共享吗?

1 个答案:

答案 0 :(得分:0)

除非您使用YARN with CGroups并启用了yarn.nodemanager.resource.percentage-physical-cpu-limit,否则Vcore只是一个逻辑单元,与CPU内核无关。大多数任务很少受CPU约束,而更常见的是受网络I / O约束。因此,如果要查看群集的总体CPU使用率和内存使用率,则应该能够根据浪费的(备用)容量来调整容器的大小。

您可以使用多种工具来衡量利用率,但是sargangliagrafana是显而易见的工具,但是您也可以参考Brendan Gregg的Linux Performance tools了解更多信息