hive hbase 配置

hive hbase 配置

标签(空格分隔): hive


##Hive2.x 版本的安装及配置参考

Hive2.x 版本的安装及配置
HiveServer2的高可用-HA配置
hive metastore ha 配置

##hive2.x 安装
###环境变量

export HIVE_HOME=/application/hive
export PATH=$HIVE_HOME/bin:$PATH

##hive和hbase整合

在hive-site.xml中添加,$HIVE_HOME改成hive的目录,不能使用HIVE_HOME,system:user.name替换成自己的用户名

<property>
    <name>system:java.io.tmpdir</name>
    <value>$HIVE_HOME/tmpdir</value>
</property>
<property>
    <name>system:user.name</name>
    <value>hadoop</value>
</property>

加入hive-hbase-handler引用

  <property>
    <name>hive.aux.jars.path</name>
    <value>/home/hadoop/application/hive/lib/hive-hbase-handler-2.3.2.jar</value>

在hive 2.3.2的lib目录中已包含hbase相关的jar包,如果没有,参考以下配置

<property>
    <name>hive.aux.jars.path</name>
    <value>
        file:///home/hadoop/hive/lib/hive-hbase-handler-2.3.2.jar,
        file:///home/hadoop/hive/lib/guava-14.0.1.jar,
        file:///home/hadoop/hbase/lib/hbase-common-1.1.4.jar,
        file:///home/hadoop/hbase/lib/hbase-client-1.1.4.jar,
        file:///home/hadoop/hbase/lib/hbase-server-1.1.4.jar,
        file:///home/hadoop/hbase/lib/hbase-hadoop2-compat-1.1.4.ja,
        file:///home/hadoop/hbase/lib/netty-all-4.0.23.Final.jar,
        file:///home/hadoop/hbase/lib/hbase-protocol-1.1.4.jar,
        file:///home/hadoop/zookeeper/zookeeper-3.4.5.jar
    </value>
</property>

###创建表

hive内部表

create table hive2(row_key string, fpdm string, fphm string, kprq string, xhdwsbh string);

hbase外部表

CREATE EXTERNAL TABLE hive_test1(row_key string, fpdm string,fphm string ,kprq string,xhdwsbh string)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping"=":key, i:fpdm, i:fphm, i:kprq, i:xhdwsbh")
TBLPROPERTIES("hbase.table.name" = "iw:test01");

##HIVE ON SPARK

hive2.x官方已经不推荐使用Hive on MR,于是集成Spark
基于Spark 2.0.0搭建Hive on Spark环境
Hive on Spark: Getting Started
hive只支持特定关系的spark版本,详细可以看官方文档Version Compatibility章节,本文使用hive-2.3.2、spark-2.0.2和hadoop-2.6
###编译spark
spark官网提供的spark已经集成了hive-1.2.1,使用hive on spark必须编译一个不集成hive的版本,编译命令如下

./dev/make-distribution.sh --name "hadoop2-without-hive" --tgz "-Pyarn,hadoop-provided,hadoop-2.6,parquet-provided"

##问题记录
###1、hive日志路径

根据启动的用户不同,位于一下路径:
/tmp/hadoop/hive.log
/tmp/root/hive.log

###2、java.lang.RuntimeException: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: hadoop is not allowed to impersonate hadoop

beeline无法连接时有多种可能,首先进入beeline使用**!connect jdbc:hive2:// hadoop**命令,密码为空,测试是否能连接上,如果不行则hiveserver没有启动
本地连接成功后,远程连接仍然报错,需要配置hadoop的core-site.xml,以下为使用通配的方式。

<property>
	<name>hadoop.proxyuser.hadoop.groups</name>
	<value>*</value>
	<description>Allow the superuser oozie to impersonate any members of the group group1 and group2</description>
</property>
<property>
	<name>hadoop.proxyuser.hadoop.hosts</name>
	<value>*</value>
	<description>The superuser can connect only from host1 and host2 to impersonate a user</description>
</property>

或者配置具体的用户和hosts。

<property>
	<name>hadoop.proxyuser.hadoop.groups</name>
	<value>hadoop</value>
	<description>Allow the superuser oozie to impersonate any members of the group group1 and group2</description>
</property>
<property>
	<name>hadoop.proxyuser.hadoop.hosts</name>
	<value>127.0.0.1,localhost</value>
	<description>The superuser can connect only from host1 and host2 to impersonate a user</description>
</property>

然后再使用!connect jdbc:hive2://ip:port/default

###3、json serde

hive2提供自带的json serde,使用命令可以临时加入会话中
ADD JAR /HIVE_HOME/hcatalog/share/hcatalog/hive-hcatalog-core-2.1.1.jar;
hive2自带的serde

###4、永久add jar

在hive根目录下创建目录auxlib,将jar包放入该目录下
重启hiveserver

###5、Hbase integration (整合) 出现zk始终连接 localhost:2181
需要在hive的conf hive-site.xml加入一个hbase zk的属性

<property>
    <name>hbase.zookeeper.quorum</name>
    <value>host1,host2</value>
    <description></description>
</property>

###6、hive可以访问base,beeline不行,提示错误ConnectionClosingException

权限问题造成,修改hive-site.xml

  <property>
    <name>hive.server2.enable.doAs</name>
    <value>false</value>
  </property>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值