我如何在YARN中调整服务器大小以运行Spark作业?

问题描述 投票:-2回答:1

我进行了广泛的搜索,以找到适用于Hadoop / spark的正确大小调整指南,但最终我只找到了与内存管理相关的文章。我的问题是,如何确定全新Hadoop集群的RAM,HDD和CPU大小。我们期望每天分析大约600G的数据(主要是日志文件和CSV)。我们将在YARN上运行Spark作业。

apache-spark yarn sizing
1个回答
-1
投票

可以通过对系统进行基准测试来得出更准确的内核和内存分配。

在不同的配置上执行您的Spark代码,并检查作业处理和调度延迟。

开始于

  • Hadoop / Yarn / OS守护程序将至少需要1个核心/节点
  • 最小纱线主控器1 GB +1核
  • 保持每个执行程序的内核数量少于5。HDFS吞吐量在5以上时不是很大。
  • 执行器内存开销为7%,即如果设置了20GB的请求,则会分配21GB

理想的Spark集群可以是

  • 每个执行者5个核心
  • 假设我们每台计算机有16个CPU,我们将在每台计算机上运行3个执行程序,并为守护程序使用1个CPU
  • 我们有10个节点群集,因此总数为执行程序为30-1 = 29,其中1个执行程序留给应用程序管理器]
  • 每个节点的执行者数量= 30/10 = 3
  • 每个执行者的内存= 64GB / 3 = 21GB
  • 计算堆开销= 21GB的7%= 3GB。所以,实际--executor-memory= 21-3 = 18GB

    总编号的执行人 = 29

    每个执行者的内存 = 18 GB

    每个执行者的核心数] = 5

    NameNode内存的范围可以从2GB-8GB。大约是1GB / 100TB数据

    边缘节点内存可以为48GB到96GB

© www.soinside.com 2019 - 2024. All rights reserved.