簡體   English   中英

如何以客戶端模式遠程提交到 EMR?

[英]How to spark-submit remotely to EMR as Client mode?

我有一個 ECS 任務配置為運行 spark-submit 到 EMR 集群。 spark-submit 配置為 Yarn Cluster 模式。

我的流應用程序假設將數據保存到 RDD 上的 Redshift,但我收到此錯誤:

java.lang.RuntimeException: java.lang.ClassNotFoundException: Class com.amazon.ws.emr.hadoop.fs.EmrFileSystem not found
    at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2195)
    at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2654)
    at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2667)
    at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:94)
    at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2703)
    at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2685)
    at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:373)
    at com.databricks.spark.redshift.Utils$.assertThatFileSystemIsNotS3BlockFileSystem(Utils.scala:162)
    at com.databricks.spark.redshift.RedshiftWriter.saveToRedshift(RedshiftWriter.scala:386)
    at com.databricks.spark.redshift.DefaultSource.createRelation(DefaultSource.scala:108)
    at org.apache.spark.sql.execution.datasources.SaveIntoDataSourceCommand.run(SaveIntoDataSourceCommand.scala:45)
    ...

我懷疑是因為“spark.yarn.jars”沒有設置,所以它把我的遠程服務器的 $SPARK_HOME 庫推過去了,它缺少 jars for com.amazon.ws.emr.hadoop.fs.EmrFileSystem。

因此,在復制 EMR 的主節點的 /usr/lib/spark/jars/* 之后,我還嘗試設置"spark.yarn.jars=hdfs://nodename:8020/user/spark/jars/*.jar" 然后它出錯:

java.io.InvalidClassException: org.apache.spark.sql.execution.SparkPlan; local class incompatible: stream classdesc serialVersionUID = -7931627949087445875, local class serialVersionUID = -5425351703039338847

我認為遠程客戶端的 jars 與 EMR 集群的 jars 之間的 jars 可能不匹配。但它們都是 2.4.7 版本。

任何人都有任何聰明的解決方案來讓我的流式 spark-submit 作業在 EMR 中作為 yarn 客戶端模式工作?

二進制文件需要與 EMR 集群中的二進制文件相同。

此資源幫助我解決了這個問題: https://docs.dominodatalab.com/en/4.5.2/reference/spark/external_spark/Connecting_to_an_Amazon_EMR_cluster_from_Domino.html

暫無
暫無

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

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