idea创建Spark项目报错记录

报错1:SparkException: A master URL must be set in your configuration

解决方案:添加conf.setMaster("local");

local[“*”]中代表的是有几个线程,如果只写local就是单线程,如果是local[2]就是两个线程

package com.fyq.spark.rdd;

import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaSparkContext;

public class Spark01 {
    public static void main(String[] args) {
    	SparkConf conf = new SparkConf();
        conf.setMaster("local");
        JavaSparkContext jsc = new JavaSparkContext(conf);
        jsc.close;
    }
}

报错2:SparkException: An application name must be set in your configuration

解决方案:添加conf.setAppName("spark"); 名称随便填

package com.fyq.spark.rdd;

import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaSparkContext;

public class Spark01 {
    public static void main(String[] args) {
    	SparkConf conf = new SparkConf();
        conf.setMaster("local");
        conf.setAppName("spark");
        JavaSparkContext jsc = new JavaSparkContext(conf);
        jsc.close;
    }
}

报错3:Exception in thread "main" java.lang.IllegalAccessError:class org.apache.spark.storage.StorageUtils$ (in unnamed module @0x5b218417)cannot access class sun.nio.ch.DirectBuffer (in module java.base)because module java.base does not export sun.nio.ch to unnamed module @0x5b218417

解决方案:
方案一:添加如下配置

-XX:+IgnoreUnrecognizedVMOptions 
--add-opens=java.base/java.lang=ALL-UNNAMED 
--add-opens=java.base/java.lang.invoke=ALL-UNNAMED 
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED 
--add-opens=java.base/java.io=ALL-UNNAMED 
--add-opens=java.base/java.net=ALL-UNNAMED 
--add-opens=java.base/java.nio=ALL-UNNAMED 
--add-opens=java.base/java.util=ALL-UNNAMED 
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED 
--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED 
--add-opens=java.base/sun.nio.ch=ALL-UNNAMED 
--add-opens=java.base/sun.nio.cs=ALL-UNNAMED 
--add-opens=java.base/sun.security.action=ALL-UNNAMED 
--add-opens=java.base/sun.util.calendar=ALL-UNNAMED  
--add-opens=java.security.jgss/sun.security.krb5=ALL-UNNAMED

方案二:使用jdk1.8

具体位置:


posted @ 2025-05-12 10:39  Meditation丶  阅读(68)  评论(0)    收藏  举报