首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spark忽略了SPARK_WORKER_MEMORY?

Spark忽略了SPARK_WORKER_MEMORY?
EN

Stack Overflow用户
提问于 2016-01-13 17:07:58
回答 4查看 2.2K关注 0票数 0

我使用的是独立集群模式1.5.2。

尽管我在spark-env.sh中设置了SPARK_WORKER_MEMORY,但这个设置似乎被忽略了。

我在bin/sbin下的脚本中找不到任何设置了-Xms/-Xmx的迹象。

如果我在worker pid中使用ps命令,它看起来像是设置为1G的内存

代码语言:javascript
复制
[hadoop@sl-env1-hadoop1 spark-1.5.2-bin-hadoop2.6]$ ps -ef | grep 20232
hadoop   20232     1  0 02:01 ?        00:00:22 /usr/java/latest//bin/java 
-cp /workspace/3rd-party/spark/spark-1.5.2-bin-hadoop2.6/sbin/../conf/:/workspace/
3rd-party/spark/spark-1.5.2-bin-hadoop2.6/lib/spark-assembly-1.5.2-hadoop2.6.0.jar:/workspace/
3rd-party/spark/spark-1.5.2-bin-hadoop2.6/lib/datanucleus-api-jdo-3.2.6.jar:/workspace/
3rd-party/spark/spark-1.5.2-bin-hadoop2.6/lib/datanucleus-rdbms-3.2.9.jar:/workspace/
3rd-party/spark/spark-1.5.2-bin-hadoop2.6/lib/datanucleus-core-3.2.10.jar:/workspace/
3rd-party/hadoop/2.6.3//etc/hadoop/ -Xms1g -Xmx1g org.apache.spark.deploy.worker.Worker 
--webui-port 8081 spark://10.52.39.92:7077

spark-defaults.conf:

代码语言:javascript
复制
spark.master            spark://10.52.39.92:7077
spark.serializer        org.apache.spark.serializer.KryoSerializer
spark.executor.memory   2g
spark.executor.cores    1

spark-env.sh:

代码语言:javascript
复制
export SPARK_MASTER_IP=10.52.39.92
export SPARK_WORKER_INSTANCES=1
export SPARK_WORKER_MEMORY=12g

我是不是遗漏了什么?

谢谢。

EN

回答 4

Stack Overflow用户

发布于 2016-01-13 18:00:58

当使用spark-shell或spark-submit时,使用--executor-memory选项。

在为独立jar配置它时,请在创建spark上下文之前以编程方式设置系统属性。

System.setProperty("spark.executor.memory", executorMemory)

票数 0
EN

Stack Overflow用户

发布于 2016-01-13 18:06:06

您在群集模式中使用了错误的设置。

SPARK_EXECUTOR_MEMORY是在集群模式下设置执行器内存的正确选项。

SPARK_WORKER_MEMORY只能在独立部署模式下工作。

从命令行设置执行器内存的另一种方法:-Dspark.executor.memory=2g

再看一个与这些设置相关的SE问题:

Spark configuration, what is the difference of SPARK_DRIVER_MEMORY, SPARK_EXECUTOR_MEMORY, and SPARK_WORKER_MEMORY?

票数 0
EN

Stack Overflow用户

发布于 2016-01-13 18:19:18

这是我在spark-default.conf上群集模式下的配置

代码语言:javascript
复制
spark.driver.memory 5g
spark.executor.memory   6g
spark.executor.cores    4

有像这样的东西吗?

如果你不添加这个代码(使用你的选项),Spark executor将默认获得1 1gb的Ram。

否则,您可以将这些选项添加到./spark-submit上,如下所示:

代码语言:javascript
复制
# Run on a YARN cluster
export HADOOP_CONF_DIR=XXX
./bin/spark-submit \
  --class org.apache.spark.examples.SparkPi \
  --master yarn \
  --deploy-mode cluster \  # can be client for client mode
  --executor-memory 20G \
  --num-executors 50 \
  /path/to/examples.jar \
  1000

如果资源分配正确,请在运行应用程序时尝试检查master(ip/master的名称):8080。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34762432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档