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