【问题标题】:Each spark worker only having 2 executors每个 spark worker 只有 2 个 executor
【发布时间】:2018-08-05 20:14:31
【问题描述】:

我有一个带有 3 个节点集群的服务器,总核心数为 72

Node 1 - cassandra + spark master + 1 spark worker
Node 2 - cassandra + 1 spark worker
Node 2 - cassandra + 1 spark worker

但每个 spark worker 只需要两个执行器

SparkSession spark = SparkSession.builder().appName("CassandraSparkJavaDemo")
                .config("spark.cassandra.connection.host", "ipaddress")
                .config("spark.cassandra.connection.port", "9042")
                .config("spark.driver.allowMultipleContexts", true)
                .config("spark.cores.max", "3")                 
                .master("spark://ipaddress:7077").getOrCreate();

使用 RDD 读取和聚合 5700 万条记录需要 1 个多小时(我看到每个 spark worker 只需要两个执行器)

  1. 如何使用 spark cassandre 连接器 java api/任何 spark conf 更改来增加执行器的数量?
  2. 还有其他方法可以提高性能吗?

【问题讨论】:

  • 我猜你是从 cassandra 数据源构造 RDD。您能否提供有关如何执行此操作的代码?只是val data = sc.cassandraTable(“my_keyspace”, “my_table”)吗?你用这些数据做什么?你如何聚合?

标签: apache-spark cassandra datastax-java-driver spark-cassandra-connector


【解决方案1】:

我在这里看到的第一个问题是您设置了 spark.cores.max=3。这告诉 spark 只使用 72 个可用内核中的 3 个。您可以尝试以下方法来提高性能:

1) 将 spark.cores.max 设置为更高的值,例如 63,您必须为每个节点上的 YARN 释放一些 CPU 资源(在这种情况下,我决定为每个节点分配三个核心,您的决定可能会有所不同)

2) 将 spark.executor.instances 设置为更高的值。为了计算正确的执行器数量,您可以执行 spark.cores.max / num_of_nodes = 63 / 3 = 21 这是每个节点的核心。现在您必须考虑对于每个执行器,高于 5cores 的值会导致 HDFS I/O 问题,因此您的最终执行器数量应该是 21 / 4 ~ 5 个执行器。所以最后你将在每个节点上有 5 个执行器,因此 spark.executor.instances=15

您可以在此处找到有关如何提高 Spark 集群性能的其他提示https://blog.cloudera.com/blog/2015/03/how-to-tune-your-apache-spark-jobs-part-2/

【讨论】:

  • 感谢您的回答,但在客户端不会有那么多核心。客户最多只有 8 个内核或 16 个内核。有没有其他方法可以提高性能?现在我更改了设置,如下所示节点 1 - cassandra + spark master + 2 spark worker 节点 2 - cassandra + 2 spark worker 节点 2 - cassandra + 2 spark worker
  • 你好 Alex 很抱歉我刚刚看到你的评论,所以如果我理解你有 3 个可用节点和 6 或 12 个核心,那么我将有 6 个执行器,每个执行器 1 个核心(如果 12 个内核,则为 2 个)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-04
  • 2015-02-11
  • 1970-01-01
  • 2015-05-25
相关资源
最近更新 更多