如何在apache spark和drill aws集群中优化aws集群实例类型?

时间:2015-10-24 15:27:56

标签: amazon-web-services amazon-ec2 apache-spark apache-drill

我正在阅读带有钻头的s3铲斗并将其写回带有镶木地板的s3,以便使用火花数据框进行读取以进行进一步分析。 AWS emr要求我拥有至少2台核心机器。

将使用i mirco实例进行主机和内核会影响性能吗?

我没有使用hdfs,因此我想让他们使用mirco实例以节省资金。

无论如何,所有计算都将由R3.xlarge spot实例作为任务节点在内存中完成。 最后确实会在每台机器中使用多个内核吗?或者是否更好地启动4.1版本的任务节点R3.xlarge,以便自动调整大小?

1 个答案:

答案 0 :(得分:1)

我不知道你对Spark的熟悉程度,但你需要了解一些关于核心使用情况的事情:

  • 您可以仅在群集模式下设置要用于驱动程序进程的核心数。它默认为 1
  • 您还可以设置每个执行程序使用的核心数。仅适用于YARN和独立模式。它在YARN模式下为1,在独立模式下工作者上的所有可用核心。在独立模式下,设置此参数允许应用程序在同一工作程序上运行多个执行程序,前提是该工作程序上有足够的核心。否则,每个应用程序只会运行一个执行程序。

现在回答你的两个问题:

  

将使用i micro实例进行主控和内核会影响性能吗?

  • 是的,驱动程序需要最少的资源来安排工作,有时收集数据等。性能方面,您需要根据您的用例进行基准测试,以便更好地使用适用于Ganglia的示例。 AWS。
  

是否会在每台机器中使用多个内核?

  • 是Spark在每台计算机上使用多个核心。

您还可以阅读this有关适用于Spark 的AWS EMR群集的首选实例类型。

Spark的支持在AWS上几乎是新的,但它通常接近所有其他Spark群集设置。

我建议您阅读AWS EMR developer guide - Plan EMR Instances章以及Spark官方文档指南。