一.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. SQL Server远程连接 provider: Named Pipes Provider, error: 40 解决方法

    置SQLServer,允许远程连接 按照上面的文章一步步配置后,远程连接出现下面所示的报错(Navicat 和 SQL Server Management Studio) SQL Server Man ...

  2. C语言异常处理之 setjmp()和longjmp()

    异常处理之除0情况 相信大家处理除0时,都会通过函数,然后判断除数是否为0,代码如下所示: double divide(doublea,double b) { const double delta = ...

  3. 6.7 使用show profile 进行sql分析

    1. 查看是否开启 show variables like 'profiling'; 2. 开启功能 set profiling = on 3. 运行sql #写的尽量耗时的sql,利于分析 sele ...

  4. js 位运算符

    MDN定义:位运算符将它的操作数视为32位元的二进制串(0和1组成)而非十进制八进制或十六进制数. 例如:十进制数字9用二进制表示为1001,位运算符就是在这个二进制表示上执行运算,但是返回结果是标准 ...

  5. js 正则表达式之环视结构

    一.环视 1:环视不“占用”字符,只匹配字符所在的特定位置. 2:正则表达式是从左向右进行匹配的. 二.肯定顺序环视(?=....) 子表达式匹配当前位置的右侧字符 图中:红色表示当前位置,绿色表示正 ...

  6. 快速排序的java实现

    快速排序也属于“交换”类的排序. 核心思想可以概括为:通过多次划分操作实现排序.每一趟选择当前所有子序列中的一个关键字(通常是第一个)作为枢轴,将小于它的元素统统放到它的前面,大于它的统统放到它的后面 ...

  7. Android横竖屏切换的生命周期

    1.新建一个Activity,并把各个生命周期打印出来 2.运行Activity,得到如下信息 onCreate--> onStart--> onResume--> 3.按crtl+ ...

  8. (后端)根据查询语句修改的update语句

    UPDATE A SET a.name = m.name FROM item A INNER JOIN table M ON A.id=M.id WHERE a.xx <> M.xx

  9. 巧用 即刻搜索事件 input propertychange 监听输入框字数

    实时监听输入框的字数,大于200时,不再输入. 即时搜索: propertychange(ie)和input事件(常用) input是标准的浏览器事件,一般应用于input元素,当input的valu ...

  10. Kotlin Native

    Kotlin Native 不是 Jni 的概念,它不仅仅是要与底层代码比如 C.C++ 交互,而且还要绕过 Jvm 直接编译成机器码供系统运行.也就是说,Kotlin 准备丢掉 Java 这根拐杖了 ...