簡體   English   中英

通過在 k8s 中的主 pod 上執行 exec 來提交作業

[英]spark-submit job by doing exec on a master pod in k8s

我已經成功地在 kubernetes 上創建了帶有 1 個 master 和 2 個 worker pod 的 spark 集群。 spark v2.4.3 在 k8s 上運行 Java 8 和 scala 2.11.12,帶有 kubectl v1.16.0 和 minikube v1.4.0。

有關詳細kubectl get pods顯示 -

NAME                            READY   STATUS    RESTARTS   AGE
spark-master-fcfd55d7d-qrpsw    1/1     Running   0          66m
spark-worker-686bd57b5d-6s9zb   1/1     Running   0          65m
spark-worker-686bd57b5d-wrqrd   1/1     Running   0          65m

我還可以通過exec主 pod 來運行內置 spark 應用程序,例如pysparkspark-shell -

kubectl exec spark-master-fcfd55d7d-qrpsw -it spark-shell` 

由於我已經有足夠的環境,我正試圖在上面運行我的 spark 工作。 但它不起作用。 火花提交命令如下所示。

#!/usr/bin/env bash

spark-submit \
   --class com.cloudian.spark.main.RequestInfoLogStreamer \
   /Users/atekade/IdeaProjects/scala-spark-streaming/target/scala-2.11/scala-spark-streaming_2.11-1.0.jar

然后將.sh腳本提交到主 pod -

kubectl exec spark-master-fcfd55d7d-qrpsw /Users/atekade/IdeaProjects/scala-spark-streaming/logstreamer.sh

但這給了我錯誤-

OCI runtime exec failed: exec failed: container_linux.go:345: starting container process caused "exec: \"/Users/atekade/IdeaProjects/scala-spark-streaming/logstreamer.sh\": stat /Users/atekade/IdeaProjects/scala-spark-streaming/logstreamer.sh: no such file or directory": unknown
command terminated with exit code 126

我在這里做錯了什么? 我的目的是讓這些主節點和工作節點完成工作。

從錯誤中可以看出:

OCI運行時執行失敗:執行失敗:container_linux.go:345:啟動容器進程導致“exec:\”/Users/atekade/IdeaProjects/scala-spark-streaming/logstreamer.sh\”:stat /Users/atekade/IdeaProjects/ scala-spark-streaming/logstreamer.sh:沒有這樣的文件或目錄”:未知命令以退出代碼 126 終止

我們最感興趣的是 part /Users/atekade/IdeaProjects/scala-spark-streaming/logstreamer.sh: no such file or directory ,這意味着 pod 無法找到logstreamer.sh文件。

腳本logstreamer.sh需要上傳到spark-master pod。 scala-spark-streaming_2.11-1.0.jar也需要在那里。

您可以為 Storage 配置 PersistenVolume ,這將很有用,因為如果您的 pod 將被重新調度,所有未存儲在 PV 上的數據都將丟失。

這是持久卷的minikube 文檔的鏈接。

您還可以使用不同的存儲類

暫無
暫無

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

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