我正在尝试更改spark写入临时文件的位置。我在网上找到的所有东西都说要通过设置spark-env.sh
文件中的SPARK_LOCAL_DIRS
参数来设置它,但我没有幸运地看到这些更改真正生效。
下面是我所做的:
亚马逊
sparklyr
包作为前端。worker节点使用弹性伸缩组进行旋转。/tmp/jaytest
创建了一个存放临时文件的目录。在每个worker中有一个,在spark master计算机和两个worker中的master.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
参数设置为相同的目录,但也没有成功。
有人能告诉我这里可能遗漏了什么吗?
编辑:我将其作为独立集群运行(因为下面的答案表明要设置的正确参数取决于集群类型)。
https://stackoverflow.com/questions/52068744
复制相似问题