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

uxhixvfz  于 2023-04-12  发布在  Apache
关注(0)|答案(2)|浏览(87)

我正在尝试更改spark写入临时文件的位置。我在网上找到的所有内容都说要通过设置spark-env.sh文件中的SPARK_LOCAL_DIRS参数来设置这个位置,但我没有任何运气让更改真正生效。
以下是我所做的:
1.使用Amazon EC2示例创建了一个2-worker测试集群。我使用spark 2.2.0和R sparklyr包作为前端。使用自动伸缩组启动工作节点。
1.在/tmp/jaytest创建了一个目录来存储临时文件。每个worker和master中各有一个。
1.放入spark master机器和两个worker,导航到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参数设置到同一个目录,但也没有成功。
有人能告诉我我错过了什么吗?
编辑:我将其作为独立集群运行(因为下面的答案表明要设置的正确参数取决于集群类型)。

fhity93d

fhity93d1#

根据spark文档,它明确指出,如果您配置了Yarn Cluster manager,则它将覆盖spark-env.sh设置。您可以只检查Yarn-env或Yarn-site文件以获取本地dir文件夹设置吗?
“这将被群集管理器设置的SPARK_LOCAL_DIRS(Standalone,Mesos)或LOCAL_DIRS(YARN)环境变量覆盖。”source -https://spark.apache.org/docs/2.3.1/configuration.html

a11xaf1n

a11xaf1n2#

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

export SPARK_LOCAL_DIRS=/Users/kylin/Desktop/spark-tmp

使用Spark弹,它的工作。
您使用的格式正确吗?

相关问题