【发布时间】:2019-09-22 19:35:02
【问题描述】:
在 EMR 上运行 Spark ETL 作业时,主节点实例的大小是否重要?据我了解,主节点不处理数据的处理/计算,负责调度任务、与核心和任务节点通信以及其他管理任务。
这是否意味着如果我有 10 TB 的数据需要转换然后写出,我可以将 1 个中型实例用于主节点,将 10 个 8xlarge 用于核心节点?
根据阅读,我看到大多数人建议主节点实例类型应该与我目前使用的核心实例类型相同并且工作正常。这将是主节点的 1 个 8xlarge 和核心节点的 10 个 8xlarge。
根据 AWS 文档,我们应该使用 m4.large,所以我很困惑什么是正确的。
https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-instances-guidelines.html
主节点没有大的计算需求。对于 50 个或更少节点的大多数集群,请考虑使用 m4.large 实例。对于超过 50 个节点的集群,请考虑使用 m4.xlarge。
【问题讨论】:
-
更新答案。
-
取决于那里运行的应用程序数量。如果只是 spark 和 hadoop,
m4.xlarge就足够了。我们在生产环境中运行m4.xlarge已经有一段时间了。 -
网速,取决于你运行的是什么模式的spark,即集群还是客户端,加载什么文件等等,很多东西都是相关的。
-
大多数人的东西既不在这里也不在那里。