一.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.-bin.tar.gz

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

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

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

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

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

bigdata@lab-bd:~$ hadoop-3.1./bin/hdfs dfs -mkdir -p /tmp
bigdata@lab-bd:~$ hadoop-3.1./bin/hdfs dfs -chmod g+w /tmp
bigdata@lab-bd:~$ hadoop-3.1./bin/hdfs dfs -mkdir -p /user/hive/warehouse
bigdata@lab-bd:~$ hadoop-3.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..jar apache-hive-3.1.-bin/lib/

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

三.运行Hive

1.命令行运行Hive
bigdata@lab-bd:~$ apache-hive-3.1.-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./sbin/stop-dfs.sh
bigdata@lab-bd:~$ hadoop-3.1./sbin/start-dfs.sh

启动hiveserver2服务
bigdata@lab-bd:~$ nohup apache-hive-3.1.-bin/bin/hive --service hiveserver2 & 
启动beeline连接hive
bigdata@lab-bd:~$ apache-hive-3.1.-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.-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..jar apache-hive-3.1.-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>

Hive数据仓库工具安装的更多相关文章

  1. Hive数据仓库工具基本架构和入门部署详解

    @ 目录 概述 定义 本质 特点 Hive与Hadoop关系 Hive与关系型数据库区别 优缺点 其他说明 架构 组成部分 数据模型(Hive数据组织形式) Metastore(元数据) Compil ...

  2. 基于hadoop的数据仓库工具:Hive概述

    Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行.其优点是学习成本低,可以通过类 ...

  3. (第7篇)灵活易用易维护的hadoop数据仓库工具——Hive

    摘要: Hive灵活易用且易于维护,十分适合数据仓库的统计分析,什么样的结构让它具备这些特性?我们如何才能灵活操作hive呢? 博主福利 给大家推荐一套hadoop视频课程 [百度hadoop核心架构 ...

  4. Hive和SparkSQL:基于 Hadoop 的数据仓库工具

    Hive 前言 Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的 SQL 查询功能,将类 SQL 语句转换为 MapReduce 任务执行. ...

  5. Hive和SparkSQL: 基于 Hadoop 的数据仓库工具

    Hive: 基于 Hadoop 的数据仓库工具 前言 Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的 SQL 查询功能,将类 SQL 语句转 ...

  6. Hive:数据仓库工具,由Facebook贡献。

    Hadoop Common: 在0.20及以前的版本中,包含HDFS.MapReduce和其他项目公共内容,从0.21开始HDFS和MapReduce被分离为独立的子项目,其余内容为Hadoop Co ...

  7. 杂项:hive(数据仓库工具)

    ylbtech-杂项:hive(数据仓库工具) hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapRedu ...

  8. Hive介绍、安装(转)

    1.Hive介绍 1.1 Hive介绍 Hive是一个基于Hadoop的开源数据仓库工具,用于存储和处理海量结构化数据.它是Facebook 2008年8月开源的一个数据仓库框架,提供了类似于SQL语 ...

  9. 【转】 hive简介,安装 配置常见问题和例子

    原文来自:  http://blog.csdn.net/zhumin726/article/details/8027802 1 HIVE概述 Hive是基于Hadoop的一个数据仓库工具,可以将结构化 ...

随机推荐

  1. [PHP] 2018年终总结

    去掉敏感信息后的不完整版 ==========================================================================2018年12月29日 记 ...

  2. [android] 插入一条记录到系统短信应用里

    谷歌市场上有这些应用,模拟短信,原理就是把数据插入到短信应用的数据库里 获取ContentResolver对象,通过getContentResolver()方法 调用resolver对象的insert ...

  3. webpack4 系列教程(十三):自动生成HTML文件

    作者按:因为教程所示图片使用的是 github 仓库图片,网速过慢的朋友请移步<webpack4 系列教程(十三):自动生成 HTML 文件>原文地址.更欢迎来我的小站看更多原创内容:go ...

  4. spring-framework-中文文档三:依赖注入DI

    5.4依赖性 典型的企业应用程序不包含单个对象(或Spring的说法中的bean).即使最简单的应用程序也有几个对象一起工作来展示最终用户将其视为一个连贯的应用程序.下一节将介绍如何从定义许多独立的b ...

  5. MongoDB复合索引详解

    摘要: 对于MongoDB的多键查询,创建复合索引可以有效提高性能. 什么是复合索引? 复合索引,即Compound Index,指的是将多个键组合到一起创建索引,这样可以加速匹配多个键的查询.不妨通 ...

  6. 使用laravel框架开发接口时ajax post请求报错419

    nginx服务器,使用laravel框架开发后台接口.get请求正常,但是post请求一直报错.H5和APP都不成功,code=419. 解决办法: 找到 VerifyCsrfToken.php文件( ...

  7. MessageChannel 消息通道

    一.初识 MessageChannel 对象 通过构造函数 MessageChannel() 可以创建一个消息通道,实例化的对象会继承两个属性:port1 和 port2 port1 和 port2 ...

  8. jQuery效果之封装模拟placeholder效果,让低版本浏览器也支持

    页面中的输入框默认的提示文字一般使用placeholder属性就可以了,即: <input type="text" name="username" pla ...

  9. mysql安装完成之后为root用户添加密码

    编辑MySql的配置文件:my.ini(在MySql安装目录下). 打开配置文件,在文件最后一行添加:skip-grant-tables,然后保存退出. 意思为就是在启mysql时不启动grant-t ...

  10. CSS中默认被继承的属性

    在CSS中,所有属性都可以被继承,只需要显式的设置属性值为inherit即可.如果不设置该属性,CSS大部分属性默认不会从父元素继承而是设置初始值(initial value),但是有一部分属性,默认 ...