【问题标题】:Getting IncompatibleClassChangeError while running shark-0.9.0 with hadoop 2.2.0使用 hadoop 2.2.0 运行 Shark-0.9.0 时出现 IncompatibleClassChangeError
【发布时间】:2014-05-26 12:50:12
【问题描述】:

运行鲨鱼 0.9.0 时出现以下错误。

线程“主”java.lang.IncompatibleClassChangeError 中的异常:找到类 scala.collection.mutable.ArrayOps,但应使用接口 在鲨鱼.SharkCliDriver$.main(SharkCliDriver.scala:82) 在鲨鱼.SharkCliDriver.main(SharkCliDriver.scala)

关于该问题的任何解决方案都是非常值得赞赏的。

【问题讨论】:

  • 请说明您使用的是哪个版本的hadoop?

标签: scala shark-sql


【解决方案1】:

这是一个向后兼容性问题。 当编译和执行过程中 scala-library.jar 的版本不同时会引发此异常。确保在编译和执行期间使用相同的库版本。

【讨论】:

    【解决方案2】:

    如果您使用的是 hadoop 2.x 版本,请执行以下步骤

    找到shark安装文件夹的路径-name hadoop-core-1.0.4.jar

    删除所有的hadoop-core-1.0.4.jar

    检查这个 http://bigdataanalyze.blogspot.com/2014/03/issues-on-shark-with-cdh5-beta2-1.html

    【讨论】:

    • OP 的堆栈跟踪清楚地显示了 Scala 冲突,但您的答案指向删除 Hadoop 核心以避免 protobuf 冲突,这不是用 Scala 编写的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-05
    相关资源
    最近更新 更多