上面说到了Hive如何与Hadoop整合,下面就说一下Hive如何与HBase整合。
Hive与HBase整合简单的超出你的想象:
1、设置环境变量
export HADOOP_HOME=/home/hadoop/Deploy/hadoop-2.5.2 export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/mynative" export HBASE_HOME=/home/hadoop/Deploy/hbase-1.1.2 export HIVE_HOME=/home/hadoop/Deploy/hive-1.2.1
2、启动Hadoop
3、启动HBase
4、启动metastore
./hive --service metastore &
5、启动hive
#输出DEBUG日志 #./hive hive.root.logger=DEBUG,console #单节点接入 ./hive -hiveconf hbase.master=hadoop-master:6000 #多节点接入 ./hive -hiveconf hbase.zookeeper.quorum=hadoop-master:2181,hadoop-slave01:2181,hadoop-slave02:2181 #为了方便,也可以在hive-site.xml增加对应的property来达到相同的效果
6、整合完毕了?好吧,你太天真了。。。
7、去github上下载hive-1.2.1的源码,需要重新编译一下hive-hbase-handler-1.2.1这个jar包(解决版本不兼容的问题)
7.1、方法1,修改pom.xml中的,用mvn在linux下编译(用到了bash),要自己解决一些兼容性问题
<hbase.hadoop1.version>0.98.9-hadoop1</hbase.hadoop1.version> <hbase.hadoop2.version>1.2.1-hadoop2</hbase.hadoop2.version>
7.2、拷贝hbase-handler的源码,把hadoop、hbase、hive下的jar包找出来作为依赖包(删除hive-hbase-handler-1.2.1.jar),然后打jar包,简单粗暴
8、用自己的hive-hbase-handler-1.2.1.jar包,替换hive下的jar包
9、这样就搞定啦。