簡體   English   中英

如何在 Spark docker-compose 網絡中提交 jar?

[英]How to spark-submit a jar in a Spark docker-compose network?

我正在嘗試使用 docker-compose 設置和使用本地 Spark 開發環境。 我創建了一個由 3 個服務組成的 docker-compose 堆棧:

  1. 使用bitnami/spark的 Spark master
  2. 一名使用bitnami/spark的 Spark工作人員
  3. 帶有Scalasbt開發容器(基於hseeberger/scala-sbt

開發容器中工作,我創建了一個非常簡單的HelloWorld scala 應用程序並使用sbt assembly構建它,使用提供的 scope 設置spark-core依賴項。

現在我想在我的小型 Spark 集群上運行HelloWorld jar 作為作業。 通過在 Spark 工作容器上復制 jar 並從工作人員本身執行spark-submit ,我設法使用--deploy-mode cluster運行該作業。 作業日志正確顯示在 Spark 瀏覽器 UI 上。 但這是正確的方法嗎?

我將如何處理更多的工人? 我嘗試從 Spark master spark-submit作業,但它僅適用於--deploy-mode=client ,在這種情況下,作業日志不會出現在瀏覽器 UI 上。 如果我嘗試使用--deploy-mode cluster運行它,它會在HelloWorld jar 上給我一個File Not Found錯誤。

總結一下

  • 我對客戶端/集群部署模式的區別感到困惑
  • 我不確定應該在哪里(即哪個節點)執行spark-submit命令
  • 我不明白我是否應該在每個工人身上手動復制 jar 或者是否有更好的方法來分發 jar 文件

謝謝您的幫助!

您可以配置 NAS,或者如果它運行為 K8S Kubernetes 然后 map 一個卷並在那里保留所需的 jars。 然后使用--jars標志觸發提交。

暫無
暫無

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

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