sunshine_junge 发表于 2014-7-11 15:54:51

shark、hadoop2进行整合

本帖最后由 pig2 于 2014-7-11 16:16 编辑


问题导读:
1.shark和hadoop2 进行整合需要经过哪些步骤?
2.shark安装之前需要安装哪些软件?
3.shark与hadoop是如何整合的?

static/image/hrline/4.gif






本文目的是测试将shark和hadoop2进行整合。
本来打算使用Shark 最新版0.9.0 ,但是官方好像还没有针对与Hadoop2的正式下载地址。(这个要说明一下,官方只提供了源码,并没有找到编译好的0.9.0 for hadoop2 ,也许需要自己编译一个,没有证实)
shark0.9.0 的需要:

[*]Scala 2.10.3
[*]Spark 0.9.0
[*](Optional) Tachyon 0.4.0
[*]AMPLab’s Hive 0.11

请注意版本要求。
于是查找Shark以前的版本是否有针对与Hadoop2的。发现官方提供了Shark0.7 for Hadoop2的下载,而且是编译好的。
需要:
[*]Spark version to 0.7.3
[*]hive-0.9.0
[*]scala-0.9.3

下载下来,配置shark,hive,spark. 运行spark,hadoop2。最后就可以运行测试了。(这些步骤可以参考这个http://www.cnblogs.com/nb591/p/3644388.html)
运行create table 操作时,报以下错误。

ERROR shark.SharkDriver: FAILED: Hive Internal Error: java.util.NoSuchElementException(null)
java.util.NoSuchElementException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:796)
at java.util.HashMap$ValueIterator.next(HashMap.java:822)
at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genPlan(SemanticAnalyzer.java:6760)
at shark.parse.SharkSemanticAnalyzer.analyzeInternal(SharkSemanticAnalyzer.scala:150)
at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:244)
at shark.SharkDriver.compile(SharkDriver.scala:197)
at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:336)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:895)
at shark.SharkCliDriver.processCmd(SharkCliDriver.scala:288)
at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:406)
at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:341)
at shark.SharkCliDriver$.main(SharkCliDriver.scala:203)
at shark.SharkCliDriver.main(SharkCliDriver.scala)

接下来进行了各种尝试来解决,问题依然存在。
最后在shark的讨论组里找到了答案,官方解释是他们发布的tar有问题,晕倒。https://groups.google.com/forum/#!msg/shark-users/3J6wtFfBx5Q/x1gZdp4nLiUJ
于是尝试使用其他版本,经过测试,使用shark-0.8.1-bin-cdh4,hive-0.9.0-bin,hadoop-2.0.0-cdh4.3.0,spark-0.8.1进行整合,可以正常使用(尝试spark-0.7.3,至进行了简单的操作,也没问题)。



引用:http://www.cnblogs.com/nb591/p/3642672.html


页: [1]
查看完整版本: shark、hadoop2进行整合