0

当前设置

  • 我们有 10 个节点的发现集群。
  • 该集群的每个节点都有 24 个内核和 264 GB 内存 为后台进程保留一些内存和 CPU,我们计划使用 240 GB 内存。
  • 现在,当涉及到容器设置时,因为每个容器可能需要 1 个核心,所以我们最多可以有 24 个容器,每个容器都有 10GB 内存。
  • 通常集群有 1-2 GB 内存的容器,但我们受到可用内核的限制,或者我可能遗漏了一些东西

问题陈述

  • 由于我们的集群被数据科学家和分析师广泛使用,只有 24 个容器是不够的。这会导致严重的资源争用。

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

我们正在考虑的选项

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

要求

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

1 回答 1

0

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

您可以使用许多工具来衡量利用率,但sar,ganglia并且grafana是显而易见的工具,但您也可以查看 Brendan Gregg 的Linux 性能工具以获取更多想法。

于 2019-03-25T21:37:25.633 回答