Hive数据仓库工具安装

一.Hive介绍

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单SQL查询功能,SQL语句转换为MapReduce任务进行运行。 优点是可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。缺点是Hive不适合在大规模数据集上实现低延迟快速的查询

 

二.安装Hive

环境:Docker(17.04.0-ce)、镜像Ubuntu(16.04.3)、JDK(1.8.0_144)、Hadoop(3.1.1)、Hive(3.1.0)

1.安装Hadoop
参考:Hadoop伪分布式模式安装

2.使用root安装MySQL

root@lab-bd:~# apt-get install -y mysql-server
root@lab-bd:~# /etc/init.d/mysql start

3.切换用户bigdata,解压Hive

root@lab-bd:~# su - bigdata
bigdata@lab-bd:~$ tar -xf apache-hive-3.1.0-bin.tar.gz

4.Hive依赖Hadoop,编辑.bashrc文件,添加环境变量
export HADOOP_HOME=/home/bigdata/hadoop-3.1.1 

5.激活环境变量
bigdata@lab-bd:~$ source .bashrc

6.启动Hdfs服务
bigdata@lab-bd:~$ hadoop-3.1.1/sbin/start-dfs.sh

7.启动Yarn服务
bigdata@lab-bd:~$ hadoop-3.1.1/sbin/start-yarn.sh 

8.创建Hive数据仓库存储目录(/tmp已存在则跳过创建)

bigdata@lab-bd:~$ hadoop-3.1.1/bin/hdfs dfs -mkdir -p /tmp
bigdata@lab-bd:~$ hadoop-3.1.1/bin/hdfs dfs -chmod g+w /tmp
bigdata@lab-bd:~$ hadoop-3.1.1/bin/hdfs dfs -mkdir -p /user/hive/warehouse
bigdata@lab-bd:~$ hadoop-3.1.1/bin/hdfs dfs -chmod g+w /user/hive/warehouse

9.新建conf/hive-site.xml文件,并增加如下配置项

<configuration>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://localhost:3306/hive?useSSL=false&amp;createDatabaseIfNotExist=true</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>password</value>
    </property>
</configuration>

10.下载mysql-connector驱动包,并移动到lib目录下

bigdata@lab-bd:~$ mv mysql-connector-java-5.1.47.jar apache-hive-3.1.0-bin/lib/ 

11.初始化metastore元数据库
bigdata@lab-bd:~$ apache-hive-3.1.0-bin/bin/schematool -dbType mysql -initSchema 

 

三.运行Hive

1.命令行运行Hive
bigdata@lab-bd:~$ apache-hive-3.1.0-bin/bin/hive 

2.Beeline运行Hive
修改etc/hadoop/core-site.xml文件,增加如下配置项

    <property>
        <name>hadoop.proxyuser.bigdata.hosts</name>
        <value>*</value>
    </property>
    <property>
        <name>hadoop.proxyuser.bigdata.groups</name>
        <value>*</value>
    </property>

重启hadoop服务

bigdata@lab-bd:~$ hadoop-3.1.1/sbin/stop-dfs.sh
bigdata@lab-bd:~$ hadoop-3.1.1/sbin/start-dfs.sh

启动hiveserver2服务
bigdata@lab-bd:~$ nohup apache-hive-3.1.0-bin/bin/hive --service hiveserver2 & 
启动beeline连接hive
bigdata@lab-bd:~$ apache-hive-3.1.0-bin/bin/beeline -u jdbc:hive2://localhost:10000 

 

四.运行异常

1.运行Hive异常
异常FAILED: HiveException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

原因是metastore元数据库没有初始化
使用schematool命令初始化metastore数据库
bigdata@lab-bd:~$ apache-hive-3.1.0-bin/bin/schematool -dbType mysql -initSchema

2.初始化metastore异常
异常org.apache.hadoop.hive.metastore.HiveMetaException: Failed to load driver

原因Hive的lib目录下无MySQL驱动包
下载mysql-connector驱动包,并移动到lib目录下
bigdata@lab-bd:~$ mv mysql-connector-java-5.1.47.jar apache-hive-3.1.0-bin/lib/ 

3.beeline连接异常
异常User: bigdata is not allowed to impersonate anonymous (state=08S01,code=0)
原因不允许匿名用户访问,需要配置etc/hoaddop/core-site.xml文件,增加如下配置项,proxyuser后为代理用户(bigdata)

    <property>
        <name>hadoop.proxyuser.bigdata.hosts</name>
        <value>*</value>
    </property>
    <property>
        <name>hadoop.proxyuser.bigdata.groups</name>
        <value>*</value>
    </property>

转载于:https://www.cnblogs.com/faramita2016/p/9304421.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值