簡體   English   中英

如何使用 spark-submit 在 Kubernetes (minikube) 上提交 PySpark 作業

[英]How to submit PySpark job on Kubernetes (minikube) using spark-submit

我的筆記本電腦上本地有一個 PySpark 作業。 如果我想使用 spark-submit 在我的 minikube 集群上提交它,知道如何傳遞 python 文件嗎?

我正在使用以下命令,但它不起作用

./spark-submit \
        --master k8s://https://192.168.64.6:8443 \
        --deploy-mode cluster \
        --name amazon-data-review \
        --conf spark.kubernetes.namespace=jupyter \
        --conf spark.executor.instances=1 \
        --conf spark.kubernetes.driver.limit.cores=1 \
        --conf spark.executor.cores=1 \
        --conf spark.executor.memory=500m \
        --conf spark.kubernetes.container.image=prateek/spark-ubuntu-2.4.5 \
        --conf spark.kubernetes.authenticate.driver.serviceAccountName=spark \
        --conf spark.kubernetes.container.image.pullPolicy=Always \
        --conf spark.kubernetes.container.image.pullSecrets=dockerlogin \
        --conf spark.eventLog.enabled=true \
        --conf spark.eventLog.dir=s3a://prateek/spark-hs/ \
        --conf spark.hadoop.fs.s3a.access.key=xxxxx \
        --conf spark.hadoop.fs.s3a.secret.key=xxxxx \
        --conf spark.hadoop.fs.s3a.impl=org.apache.hadoop.fs.s3a.S3AFileSystem \
        --conf spark.hadoop.fs.s3a.fast.upload=true \
        /Users/prateek/apache-spark/amazon_data_review.py

出現以下錯誤 -

python3: can't open file '/Users/prateek/apache-spark/amazon_data_review.py': [Errno 2] No such file or directory

是否需要將文件保留在 Docker 映像本身中。 我們不能把它放在筆記本電腦上在本地運行嗎

Kubernetes 上的 Spark 不支持使用spark-submit提交本地存儲的文件。

為了使其在集群模式下工作,您可以做的是基於prateek/spark-ubuntu-2.4.5構建 Spark Docker 映像,其中放入amazon_data_review.py (例如,使用 Docker COPY /Users/prateek/apache-spark/amazon_data_review.py /amazon_data_review.py聲明)。

然后使用local://文件系統在spark-submit命令中引用它,例如:

spark-submit \
  --master ... \
  --conf ... \
  ...
  local:///amazon_data_review.py

另一種方法是將該文件存儲在http(s)://hdfs://可訪問的位置。

解決了。 以客戶端模式運行它有助於運行它

--部署模式客戶端

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM