正在尝试对dataproc运行spark作业。但这项工作甚至未能初始化spark context。
当使用yarn-client
作为主机创建spark context时,我得到以下错误:
SparkSession sparkSession = SparkSession.builder()
.appName("Sample App")
.master("yarn-client")
.getOrCreate();
ERROR org.apache.spark.SparkContext: Error initializing SparkContext.
java.util.ServiceConfigurationError: org.apache.spark.scheduler.ExternalClusterManager: Provider org.apache.spark.scheduler.cluster.k8s.KubernetesClusterManager not a subtype
at java.util.ServiceLoader.fail(ServiceLoader.java:239)
at java.util.ServiceLoader.access$300(ServiceLoader.java:185)
或
当我没有设置主节点或传递local
时,当我提交作业时,我会得到下面的错误:
ERROR org.apache.spark.SparkContext: Error initializing SparkContext.
java.util.ServiceConfigurationError: org.apache.hadoop.fs.FileSystem: Provider com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystem could not be instantiated
at java.util.ServiceLoader.fail(ServiceLoader.java:232)
at java.util.ServiceLoader.access$100(ServiceLoader.java:185)
根据我的理解,这个错误应该不会出现,因为Google云存储连接器是自动安装/配置在dataproc中的,所以我为什么会看到这个错误。
关于如何解决这些错误以及它们的含义的任何指导。
发布于 2021-07-16 03:55:57
您不需要.master("yarn-client")
,只需删除该行即可。Spark on Dataproc已配置为默认使用YARN作为集群管理器。以下是相关属性:
spark.master=yarn
spark.submit.deployMode=client
如果您确实想显式设置master,正确的值应该是"yarn“而不是"yarn-client”。
有关更多详细信息,请参阅此doc。
https://stackoverflow.com/questions/68384888
复制相似问题