首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用spark-env.sh文件设置SPARK_LOCAL_DIRS参数

如何使用spark-env.sh文件设置SPARK_LOCAL_DIRS参数
EN

Stack Overflow用户
提问于 2018-08-29 10:41:59
回答 2查看 5.6K关注 0票数 6

我正在尝试更改spark写入临时文件的位置。我在网上找到的所有东西都说要通过设置spark-env.sh文件中的SPARK_LOCAL_DIRS参数来设置它,但我没有幸运地看到这些更改真正生效。

下面是我所做的:

亚马逊

  • 使用 EC2实例创建了一个2-worker测试集群。我使用spark 2.2.0和R sparklyr包作为前端。worker节点使用弹性伸缩组进行旋转。
  1. /tmp/jaytest创建了一个存放临时文件的目录。在每个worker中有一个,在spark master计算机和两个worker中的master.
  2. Puttied中也有一个,导航到home/ubuntu/spark-2.2.0-bin-hadoop2.7/conf/spark-env.sh并修改文件,使其包含以下行:SPARK_LOCAL_DIRS="/tmp/jaytest"

每个spark-env.sh文件的权限都是-rwxr-xr-x,而jaytest文件夹的权限是drwxrwxr-x

据我所知,这与我在网上读到的所有建议是一致的。但是,当我将一些数据加载到集群中时,它仍然以/tmp而不是/tmp/jaytest的形式结束。

我还尝试将spark.local.dir参数设置为相同的目录,但也没有成功。

有人能告诉我这里可能遗漏了什么吗?

编辑:我将其作为独立集群运行(因为下面的答案表明要设置的正确参数取决于集群类型)。

EN

回答 2

Stack Overflow用户

发布于 2018-08-29 16:31:04

根据spark文档,它清楚地表明,如果您已经配置了Yarn集群管理器,那么它将覆盖spark-env.sh设置。您是否可以只检查Yarn-env或yarn-site文件中的本地目录文件夹设置。

这将由群集管理器设置的SPARK_LOCAL_DIRS (独立、Mesos)或LOCAL_DIRS (纱线)环境变量覆盖。来源- https://spark.apache.org/docs/2.3.1/configuration.html

票数 1
EN

Stack Overflow用户

发布于 2018-09-04 16:28:24

Mac env、spark-2.1.0和spark-env.sh包含:

代码语言:javascript
复制
export SPARK_LOCAL_DIRS=/Users/kylin/Desktop/spark-tmp

使用spark-shell,它可以工作。

您是否使用了正确的格式?

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

https://stackoverflow.com/questions/52068744

复制
相关文章

相似问题

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