繁体   English   中英

更改 Spark Kubernetes 上的执行程序工作目录

[英]Changing the executor working directory on Spark Kubernetes

我正在尝试使用一个使用 Twitter 的finagle的库。 它在驱动程序端无缝工作,但它卡在执行器上。

某些版本的 finagle 有这个错误,如果在遍历目录时遇到链接循环,它会卡住。 该库似乎检查了工作目录上的所有目录,或者至少检查了类路径上的所有目录。

问题仅发生在执行程序端,因为 Spark 正在将 jar 和使用-Dspark.files指定的文件复制到根文件夹 ( / ),该文件夹还包含/sys/proc等具有循环的目录。

有没有办法告诉 Spark 使用另一个目录作为工作目录? 或者也许我应该修改我的 Docker 图像? 目前它是一个简单的 centos 图像,安装了 Java。 用户只是root ,但 Spark 使用的是/ ,而不是 root 用户的家 ( /root )。

我认为您需要将 ENV $SPARK_HOME添加到您的dockerfile

ARG SPARK_HOME=/my/path/to
ENV SPARK_HOME $SPARK_HOME

install.spark 下载 Spark 并将其安装到本地目录(如果找不到)。 如果在环境中设置了 SPARK_HOME,并且找到了该目录,则返回该目录。 我们使用的 Spark 版本与 SparkR 版本相同。 用户可以指定想要的Hadoop版本、远程镜像站点、package本地安装目录。

看到 这个

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM