分享

Hive on Spark

夏洛特猫 发表于 2017-4-6 17:49:26 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 10 11009
今日一直在弄hive on spark 的集群,网上众说纷纭,又说直接用开源的hive和spark,只需要hive要求的spark版本对应就可以set hive.execution.engine=spark;就可以运行spark on hive 模式,job进程可以在hadoop端口的web前端查看。
但是这个是不行的,所以采用另一种方法,就是自己编译hive和spark 将版本对应则可运行,本人通过这个方法可以运行并在spark的web端口查看。
现在有几个疑问,如果有会的前辈希望不惜赐教或者提供全新版本的使用包:
1. 我运行成功的spark on hive 是通过8080端口查看 而不是8088的hadoop端口查看job进程
2. spark和hive到底用不用编译就能完成hive on spark 模式
3. hive 和spark的编译版本从官网下载的无法编译 在git-hub上下载的经过10次的编译 有一次成功并可用
4.为什么TPC-DS的query语句运行会出现OM 而运行其他语句则可以,跟数据大小没关,也派出配置分配内存过小的问题

TPC运行出现的报错图
wcwcw.png
----------------------------------------------------------------------------------
在这里提供下自己编译好的可用的两个软件包,大家可以使用并反馈

https://pan.baidu.com/s/1gfKcnkR

已有(10)人评论

跳转到指定楼层
nextuser 发表于 2017-4-6 18:46:10
本帖最后由 nextuser 于 2017-4-6 19:18 编辑

hive官网安装包即可,hive已经包含了spark的部分。不需要另外在编译挺麻烦的,就像楼主遇到的问题,还不一定编译成功。【记得spark与hadoop版本兼容的,并且hive兼容】#######################
如不清楚可参考:hadoop,hbase,hive,zookeeper版本整合兼容性最全,最详细说明【适用于任何版本】
http://www.aboutyun.com/forum.php?mod=viewthread&tid=18015
#######################
剩下的就是设置下环境变量:

export SPARK_HOME=/home/.../spark-1.4.1-bin-hadoop2.x.0
Hive on Spark模式用到的Spark assembly不能官网下载的【里面包含hive】,所以需要自己编译spark,也就是spark与hadoop整合编译
然后启动hive
启动后设置运行引擎
hive> set hive.execution.engine=spark;
然后配置一些参数,也就是spark启动需要的一些参数,比如spark.eventLog.dir,spark.executor.memory=4g;spark.serializer=org.apache.spark.serializer.KryoSerializer;等
可以在hive中设置,例如
set spark.executor.memory=4g;
然后运行一些sql测试下





回复

使用道具 举报

2017 发表于 2017-4-6 19:05:54
只需要编译一个spark,里面不能有hive包,也就是编译的时候不能用-phive

编译完后,将包放到hive目录里,hive是不需要编译的。
其它都是网上配置即可
回复

使用道具 举报

夏洛特猫 发表于 2017-4-7 07:43:20
2017 发表于 2017-4-6 19:05
只需要编译一个spark,里面不能有hive包,也就是编译的时候不能用-phive

编译完后,将包放到hive目录里 ...

谢谢您的回复 那应该是我之前spark-2.0编译的不对 用了without-hive 但是起不来spark我再试试 多谢您的回复
回复

使用道具 举报

夏洛特猫 发表于 2017-4-7 07:45:34
nextuser 发表于 2017-4-6 18:46
hive官网安装包即可,hive已经包含了spark的部分。不需要另外在编译挺麻烦的,就像楼主遇到的问题,还不一 ...

谢谢您的源码回复,想问下最新的spark直接在官网下源码还是在git_hub上下,我以前spark-1.5编译是在git-hub上下载的 spark官网下的无法编译过
回复

使用道具 举报

夏洛特猫 发表于 2017-4-7 08:00:34
夏洛特猫 发表于 2017-4-7 07:43
谢谢您的回复 那应该是我之前spark-2.0编译的不对 用了without-hive 但是起不来spark我再试试 多谢您的回 ...

?您早,我用的是这条命令,也是官网的命令
./dev/make-distribution.sh --name "hadoop2-without-hive" --tgz "-Pyarn,hadoop-provided,hadoop-2.7,parquet-provided"



回复

使用道具 举报

夏洛特猫 发表于 2017-4-7 08:05:42
2017 发表于 2017-4-6 19:05
只需要编译一个spark,里面不能有hive包,也就是编译的时候不能用-phive

编译完后,将包放到hive目录里 ...

恩恩我表述的问题 谢谢纠正
回复

使用道具 举报

2017 发表于 2017-4-7 08:10:43
本帖最后由 2017 于 2017-4-7 08:12 编辑
夏洛特猫 发表于 2017-4-7 08:00
?您早,我用的是这条命令,也是官网的命令

github的版本要对应上,否则编译成功了也是问题。
回复

使用道具 举报

夏洛特猫 发表于 2017-4-7 08:17:40
2017 发表于 2017-4-7 08:10
github的版本要对应上,否则编译成功了也是问题。

知道的 谢谢您啦
回复

使用道具 举报

langke93 发表于 2017-4-7 08:36:26
官网编译的时候可以通过pom,知道spark和Scala的版本。
比如我下载的是
  apache-hive-2.1.1-src.tar.gz里面的pom.xml文件
[mw_shl_code=xml,true]<spark.version>1.6.0</spark.version>

<scala.binary.version>2.10</scala.binary.version>

<scala.version>2.10.4</scala.version>[/mw_shl_code]

对应的pom文件下载
pom.rar (7.86 KB, 下载次数: 0)
回复

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条