执行:spark-submit --class spark.rddprac1.WordCount \
      --name  SparkWordCount   \
    --master  yarn \
    --deploy-mode client \
    --driver-memory 1g \
    --executor-memory 1g \
    --executor-cores 1 \
    --num-executors  2 \
   spark_practice-1.0-SNAPSHOT.jar 时报错:

错误:找不到或加载主类 org.apache.spark.deploy.yarn.ExecutorLauncher

有关更详细的输出,请查看应用程序跟踪页面:http://master:8088/cluster/app/application_1743189324831_0006 然后单击指向每次尝试的日志的链接。

.应用程序失败。

虚拟机中报错如下图:

 打开 master: 8088 具体报错如下:

 分析原因可能是类路径问题:org.apache.spark.deploy.yarn.ExecutorLauncher  类无法被加载,通常是由于类路径(classpath)中缺少必要的 JAR 文件。

  解决办法:配置 spark 中的 spark-defaults.cof中的 spark.yarn.jars,配置 yarn 模式下 spark 运行的jar 包。

首先你需要找到虚拟机中 spark 运行时所需要的 jar 包,如下为我的路径

 然后使用: hdfs dfs -put /usr/local/spark/jars /user/hadoop 命令,将 jar包上传到对应位置

 

 最后配置/usr/local/spark/conf/spark-defaults.conf 文件,配置语句为: spark.yarn.jars hdfs://master:9000/user/hadoop/jars/*.jar,其中 master为你的主机名,/user/hadoop/jars 为 jar 包在 HDFS 上的位置。/*.jar 表示在 jar 中的所有 jar 包。

 配置后再次执行 spark-submit --class spark.rddprac1.WordCount \

   --name SparkWordCount \

    --master yarn \

    --deploy-mode client \

    --driver-memory 1g \

    --executor-memory 1g \

    --executor-cores 1 \

    --num-executors 2 \

   spark_practice-1.0-SNAPSHOT. jar 命令成功,到 8088 查看

 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐