Spark程序报错排查:A master URL must be set in your configuration
程序员文章站
2022-07-12 14:16:39
...
今天在在本地测试spark程序,点击运行main方法,报了如下错误:(spark版本为2.1.1)
org.apache.spark.SparkException: A master URL must be set in your configuration
at org.apache.spark.SparkContext.<init>(SparkContext.scala:379)
at org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2320)
at org.apache.spark.sql.SparkSession$Builder$$anonfun$6.apply(SparkSession.scala:868)
at org.apache.spark.sql.SparkSession$Builder$$anonfun$6.apply(SparkSession.scala:860)
at scala.Option.getOrElse(Option.scala:121)
at org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:860)
at com.gimc.dsp.spark.main.dsp.OrderMappingMain.main(OrderMappingMain.java:60)
19/06/12 11:32:33 INFO SparkContext: Successfully stopped SparkContext
Exception in thread "main" org.apache.spark.SparkException: A master URL must be set in your configuration
at org.apache.spark.SparkContext.<init>(SparkContext.scala:379)
at org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2320)
at org.apache.spark.sql.SparkSession$Builder$$anonfun$6.apply(SparkSession.scala:868)
at org.apache.spark.sql.SparkSession$Builder$$anonfun$6.apply(SparkSession.scala:860)
at scala.Option.getOrElse(Option.scala:121)
at org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:860)
at com.gimc.dsp.spark.main.dsp.OrderMappingMain.main(OrderMappingMain.java:60)
这个报错的原因在于没有设置程序运行的master,需要进行相应的配置。
传给spark的master有如下几种:
local 本地单线程
local[K] 本地多线程(指定K个内核)
local[*] 本地多线程(指定所有可用内核)
spark://HOST:PORT 连接到指定的 Spark standalone cluster master,需要指定端口。
mesos://HOST:PORT 连接到指定的 Mesos 集群,需要指定端口。
yarn-client客户端模式 连接到 YARN 集群。需要配置 HADOOP_CONF_DIR。
yarn-cluster集群模式 连接到 YARN 集群。需要配置 HADOOP_CONF_DIR。
本地配置spark master的方式有如下两种:
一.通过spark代码进行配置
可以通过以下代码进行配置:
//java版本
SparkConf conf = new SparkConf();
conf.setMaster("local"); //本地单线程运行
conf.setAppName("testJob");
JavaSparkContext sc = new JavaSparkContext(conf);
//scala版本
val sparkConf = new SparkConf()
sparkConf.setMaster("local") //本地单线程运行
sparkConf.setAppName("testJob")
val sc = new SparkContext(sparkConf)
二.通过设置JVM运行参数进行配置
在idea上点击edit configuration,在左侧选择需要配置参数的项目,然后在右侧VM options中输入“-Dspark.master=local”,指示本程序本地单线程运行,再次运行即可。
推荐阅读
-
Spark异常:A master URL must be set in your configuration处理记录
-
IDEA开发SparkSQL报错:org.apache.spark.SparkException: A master URL must be set in your configuration
-
IDEA使用SparkSession读取Json文件报错 A master URL must be set in your configuration
-
运行Spark程序时出现 Exception in thread “main“ org.apache.spark.SparkException: A master URL must be set
-
Spark程序报错排查:A master URL must be set in your configuration
-
异常解决:A master URL must be set in your configuration
-
org.apache.spark.SparkException: A master URL must be set in your configuration
-
解决A master URL must be set in your configuration错误
-
spark 异常解决:A master URL must be set in your configuration
-
Spark异常:A master URL must be set in your configuration处理记录