分享

编译spark后运行spark-shell和spark sql报错

Fortitude 发表于 2016-6-2 10:19:37 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 5 14471
为了hive on spark,重新编译了spark-without-hive,按照hive官网上的编译命令:make-distribution.sh --name"hadoop2-without-hive" --tgz"-Pyarn,hadoop-2.6,parquet-provided",之后一直没问题,知道有一天我运行了一个spark sql的任务,发现报错,后来发现运行spark-shell的时候也会报同样的错:
[mw_shl_code=java,true]java.lang.NoClassDefFoundError: org/apache/parquet/hadoop/ParquetOutputCommitter
        at org.apache.spark.sql.SQLConf$.<init>(SQLConf.scala:319)
        at org.apache.spark.sql.SQLConf$.<clinit>(SQLConf.scala)
        at org.apache.spark.sql.SQLContext.<init>(SQLContext.scala:85)
        at org.apache.spark.sql.SQLContext.<init>(SQLContext.scala:77)
        at org.apache.spark.repl.SparkILoop.createSQLContext(SparkILoop.scala:1033)
        at $iwC$$iwC.<init>(<console>:15)
        at $iwC.<init>(<console>:24)
        at <init>(<console>:26)
        at .<init>(<console>:30)
        at .<clinit>(<console>)
        at .<init>(<console>:7)
        at .<clinit>(<console>)
        at $print(<console>)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.apache.spark.repl.SparkIMain$ReadEvalPrint.call(SparkIMain.scala:1065)
        at org.apache.spark.repl.SparkIMain$Request.loadAndRun(SparkIMain.scala:1346)
        at org.apache.spark.repl.SparkIMain.loadAndRunReq$1(SparkIMain.scala:840)
        at org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:871)
        at org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:819)
        at org.apache.spark.repl.SparkILoop.reallyInterpret$1(SparkILoop.scala:857)
        at org.apache.spark.repl.SparkILoop.interpretStartingWith(SparkILoop.scala:902)
        at org.apache.spark.repl.SparkILoop.command(SparkILoop.scala:814)
        at org.apache.spark.repl.SparkILoopInit$$anonfun$initializeSpark$1.apply(SparkILoopInit.scala:132)
        at org.apache.spark.repl.SparkILoopInit$$anonfun$initializeSpark$1.apply(SparkILoopInit.scala:124)
        at org.apache.spark.repl.SparkIMain.beQuietDuring(SparkIMain.scala:324)
        at org.apache.spark.repl.SparkILoopInit$class.initializeSpark(SparkILoopInit.scala:124)
        at org.apache.spark.repl.SparkILoop.initializeSpark(SparkILoop.scala:64)
        at org.apache.spark.repl.SparkILoop$$anonfun$org$apache$spark$repl$SparkILoop$$process$1$$anonfun$apply$mcZ$sp$5.apply$mcV$sp(SparkILoop.scala:974)
        at org.apache.spark.repl.SparkILoopInit$class.runThunks(SparkILoopInit.scala:159)
        at org.apache.spark.repl.SparkILoop.runThunks(SparkILoop.scala:64)
        at org.apache.spark.repl.SparkILoopInit$class.postInitialization(SparkILoopInit.scala:108)
        at org.apache.spark.repl.SparkILoop.postInitialization(SparkILoop.scala:64)
        at org.apache.spark.repl.SparkILoop$$anonfun$org$apache$spark$repl$SparkILoop$$process$1.apply$mcZ$sp(SparkILoop.scala:991)
        at org.apache.spark.repl.SparkILoop$$anonfun$org$apache$spark$repl$SparkILoop$$process$1.apply(SparkILoop.scala:945)
        at org.apache.spark.repl.SparkILoop$$anonfun$org$apache$spark$repl$SparkILoop$$process$1.apply(SparkILoop.scala:945)
        at scala.tools.nsc.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:135)
        at org.apache.spark.repl.SparkILoop.org$apache$spark$repl$SparkILoop$$process(SparkILoop.scala:945)
        at org.apache.spark.repl.SparkILoop.process(SparkILoop.scala:1059)
        at org.apache.spark.repl.Main$.main(Main.scala:31)
        at org.apache.spark.repl.Main.main(Main.scala)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:731)
        at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181)
        at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206)
        at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121)
        at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: java.lang.ClassNotFoundException: org.apache.parquet.hadoop.ParquetOutputCommitter
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
[/mw_shl_code]

java版本:jdk1.8.0_65
hadoop版本:2.7.2
spark版本:1.6.0
请赐教!

已有(5)人评论

跳转到指定楼层
tntzbzc 发表于 2016-6-2 16:07:30
-Pyarn,hadoop-2.6,parquet-provided
是不是版本难度问题,楼主这是使用hadoop2.6的原因是什么
回复

使用道具 举报

lordk 发表于 2016-7-8 13:08:36
遇到过这个问题 去掉 parquet-provided 试试
回复

使用道具 举报

Fortitude 发表于 2016-7-11 11:03:00
lordk 发表于 2016-7-8 13:08
遇到过这个问题 去掉 parquet-provided 试试

已经弄好了,我也去掉试过,也不行,不是这个原因,这个命令只是打包命令,我用maven编译命令重新编译hive源码后再用这个命令打包就没问题了。
回复

使用道具 举报

KevinZwx 发表于 2016-8-2 20:15:12
Fortitude 发表于 2016-7-11 11:03
已经弄好了,我也去掉试过,也不行,不是这个原因,这个命令只是打包命令,我用maven编译命令重新编译hiv ...

我也遇到了这个问题,不过没太明白楼主怎么重新编译一下Hive会解决问题?这个不应该是编译spark出的问题吗
回复

使用道具 举报

Fortitude 发表于 2016-8-5 10:09:40
KevinZwx 发表于 2016-8-2 20:15
我也遇到了这个问题,不过没太明白楼主怎么重新编译一下Hive会解决问题?这个不应该是编译spark出的问题 ...

http://spark.apache.org/docs/latest/building-spark.html在执行Building a Runnable Distribution之前先build/mvn下

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条