【问题标题】:How to change the number of CPUs each worker uses in Spark Standalone mode?如何更改 Spark Standalone 模式下每个工作人员使用的 CPU 数量?
【发布时间】:2015-09-21 03:24:34
【问题描述】:

我可以在装有 OS Windows 7、8 核 CPU 和 16 GB RAM 的机器上以 Spark Standalone 模式运行主节点和从节点。

现在我正在尝试更改这台机器上的工人数量。

正如我在 Spark 网站上看到的,Windows 操作系统目前不支持启动脚本。所以我手动启动master和workers。

在我定义的驱动程序中:

SparkConf conf = new SparkConf().setAppName("myapplication")
  .setMaster("spark://fujitsu11:7077")
  .setJars(new String[] {"target/maven1-0.0.1-SNAPSHOT-driver.jar"})
  .set("spark.home","D:/spark")
  .set("spark.executor.memory", "2g")
  .set("spark.worker.instances","2")
  .set("spark.worker.cores", "4"); // I allocate four cores for each worker
JavaSparkContext sc = new JavaSparkContext(conf);

然后在 Cygwin 中,我从手动主守护进程和两个工人开始。

但是当我运行我的应用程序并关注http://localhost:8080 时,我看到两个工作人员都试图使用所有 8 个内核......

如何更改实例使用的核心数?

【问题讨论】:

    标签: apache-spark


    【解决方案1】:

    工作人员使用的 CPU/核心数在开始时作为环境变量给出,您可以在两个位置进行设置:

    1. conf/spark-env.sh 中作为SPARK_WORKER_CORES
    2. 作为--cores 4 启动工作守护程序时的命令行参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-04
      • 1970-01-01
      • 2012-05-12
      • 1970-01-01
      • 1970-01-01
      • 2014-03-28
      • 1970-01-01
      相关资源
      最近更新 更多