[英]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.