[关闭]
@zh350229319 2018-09-20T06:53:03.000000Z 字数 3597 阅读 624

hive hbase 配置

hive


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

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

hive2.x 安装

环境变量

  1. export HIVE_HOME=/application/hive
  2. export PATH=$HIVE_HOME/bin:$PATH

hive和hbase整合

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

  1. <property>
  2. <name>system:java.io.tmpdir</name>
  3. <value>$HIVE_HOME/tmpdir</value>
  4. </property>
  5. <property>
  6. <name>system:user.name</name>
  7. <value>hadoop</value>
  8. </property>

加入hive-hbase-handler引用

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

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

  1. <property>
  2. <name>hive.aux.jars.path</name>
  3. <value>
  4. file:///home/hadoop/hive/lib/hive-hbase-handler-2.3.2.jar,
  5. file:///home/hadoop/hive/lib/guava-14.0.1.jar,
  6. file:///home/hadoop/hbase/lib/hbase-common-1.1.4.jar,
  7. file:///home/hadoop/hbase/lib/hbase-client-1.1.4.jar,
  8. file:///home/hadoop/hbase/lib/hbase-server-1.1.4.jar,
  9. file:///home/hadoop/hbase/lib/hbase-hadoop2-compat-1.1.4.ja,
  10. file:///home/hadoop/hbase/lib/netty-all-4.0.23.Final.jar,
  11. file:///home/hadoop/hbase/lib/hbase-protocol-1.1.4.jar,
  12. file:///home/hadoop/zookeeper/zookeeper-3.4.5.jar
  13. </value>
  14. </property>

创建表

hive内部表

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

hbase外部表

  1. CREATE EXTERNAL TABLE hive_test1(row_key string, fpdm string,fphm string ,kprq string,xhdwsbh string)
  2. STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
  3. WITH SERDEPROPERTIES ("hbase.columns.mapping"=":key, i:fpdm, i:fphm, i:kprq, i:xhdwsbh")
  4. 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的版本,编译命令如下

  1. ./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,以下为使用通配的方式。

  1. <property>
  2. <name>hadoop.proxyuser.hadoop.groups</name>
  3. <value>*</value>
  4. <description>Allow the superuser oozie to impersonate any members of the group group1 and group2</description>
  5. </property>
  6. <property>
  7. <name>hadoop.proxyuser.hadoop.hosts</name>
  8. <value>*</value>
  9. <description>The superuser can connect only from host1 and host2 to impersonate a user</description>
  10. </property>

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

  1. <property>
  2. <name>hadoop.proxyuser.hadoop.groups</name>
  3. <value>hadoop</value>
  4. <description>Allow the superuser oozie to impersonate any members of the group group1 and group2</description>
  5. </property>
  6. <property>
  7. <name>hadoop.proxyuser.hadoop.hosts</name>
  8. <value>127.0.0.1,localhost</value>
  9. <description>The superuser can connect only from host1 and host2 to impersonate a user</description>
  10. </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的属性

  1. <property>
  2. <name>hbase.zookeeper.quorum</name>
  3. <value>host1,host2</value>
  4. <description></description>
  5. </property>

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

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

  1. <property>
  2. <name>hive.server2.enable.doAs</name>
  3. <value>false</value>
  4. </property>
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注