spark2- submit提交任务报错

在安装完成cdh5.13.3之后,写了个sparkstream的代码,然后准备用spark2-submit提交任务,结果遇到了一系列的错误:

1.spark2-submit提交任务的时候直接报错

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FSDataInputStream
    at org.apache.spark.deploy.SparkSubmitArguments$$anonfun$mergeDefaultSparkProperties$1.apply(SparkSubmitArguments.scala:117)
    at org.apache.spark.deploy.SparkSubmitArguments$$anonfun$mergeDefaultSparkProperties$1.apply(SparkSubmitArguments.scala:117)
    at scala.Option.getOrElse(Option.scala:120)
    at org.apache.spark.deploy.SparkSubmitArguments.mergeDefaultSparkProperties(SparkSubmitArguments.scala:117)
    at org.apache.spark.deploy.SparkSubmitArguments.(SparkSubmitArguments.scala:103)
    at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:114)
    at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.fs.FSDataInputStream
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 7 more

这个报错上网看了一圈之后都说要修改spark-env的配置文件

export export SPARK_DIST_CLASSPATH=$(${HADOOP_HOME}/bin/hadoop classpath)

加一行这个命令即可。这个问题我后来解决了,至于是不是用的这个方法,因为是生产环境,写的时候不是在生产环境,所以就没法验证了,这个问题直接在网上搜,应该就能找到解决方案。

2.在安装了spark2组件之后,如果没有安装spark组件,那么用spark-submit提交命令的话,默认的使用的是spark1的平台环境,这个会导致如果是提交到yarn,在主节点上应用程序没有问题,在从节点上会报类找不到的错误的现象,此时只需要把spark组件添加上来即可。

还有就是如果spark2-submit提交不通过的话可以尝试spark-submit来提交到yarn,使用spark-submit提交的程序对版本冲突的问题没有那么敏感,很可能就是直接正常的运行。之前我就是直接用的spark-submit的内能运行,在spark2-submit运行报找不到类。

3.其他就是包版本以来的问题。因为我使用到了kafka和sparkstream,提交了之后会报一些kafka和scala的classnotfound的命令,

总结了一下,大部分的原因是因为kafka 和sparkstream的版本直接有冲突的问题。下面给出个经过试验有效的pom文件。


    
      log4j
      log4j
      1.2.15
      compile
      
        
          jms
          javax.jms
        
        
          jmxtools
          com.sun.jdmk
        
        
          jmxri
          com.sun.jmx
        
      
    
    
      redis.clients
      jedis
      2.9.0
      compile
    
    
      net.sf.json-lib
      json-lib
      2.3
      jdk15
      compile
    
    
      org.apache.spark
      spark-streaming_2.11
      2.1.0
      compile
    
    
      org.scala-lang
      scala-library
      2.11.0
      compile
    
    
      org.apache.spark
      spark-streaming-kafka_2.11
      1.6.1
      compile
    
    
      org.apache.kafka
      kafka_2.11
      0.8.2.1
      compile
    
  
  
    
      
        true
      
      
        false
      
      nexus-aliyun
      nexus-aliyun
      http://maven.aliyun.com/nexus/content/groups/public/
    
    
      
        false
      
      central
      Central Repository
      http://repo.maven.apache.org/maven2
    
  

 

你可能感兴趣的:(大数据,大数据之路)