【发布时间】:2016-01-18 22:08:26
【问题描述】:
当我在调试模式下在 hive 控制台上运行查询时,我收到了如下所列的错误。我正在使用 hive-1.2.1 和 spark 1.5.1;我检查了 hive-exec jar,它具有类定义 org/apache/hive/spark/client/Job 。
Caused by: java.lang.NoClassDefFoundError: org/apache/hive/spark/client/Job
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:792)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:411)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
at org.apache.hive.com.esotericsoftware.kryo.util.DefaultClassResolver.readName(DefaultClassResolver.java:136)
at org.apache.hive.com.esotericsoftware.kryo.util.DefaultClassResolver.readClass(DefaultClassResolver.java:115)
at org.apache.hive.com.esotericsoftware.kryo.Kryo.readClass(Kryo.java:656)
at org.apache.hive.com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:99)
at org.apache.hive.com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:507)
at org.apache.hive.com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:776)
at org.apache.hive.spark.client.rpc.KryoMessageCodec.decode(KryoMessageCodec.java:96)
at io.netty.handler.codec.ByteToMessageCodec$1.decode(ByteToMessageCodec.java:42)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:327)
... 15 more*
最后查询失败:
"ERROR spark.SparkTask: 执行spark任务失败,异常'java.lang.IllegalStateException(RPC channel is closed.)'"*
我该如何解决这个问题?
【问题讨论】:
-
你有火花集群上的 hivecontext 吗?
-
@eliasah,我在 spark 上有 hiveContext。该查询在 spark-sql 上运行良好,但在 hive-on-spark 上运行良好
-
这个问题已通过迁移到 spark 1.3.0 版本并在没有配置单元的情况下重建它来解决。
-
其实我还是有这个问题,我有 Spark 1.6.0 和 Hive 1.2.1
标签: apache-spark hive apache-spark-sql