一、简介

Hive是基于hadoop的一个数据仓库工具,有助于查询和管理分布式存储系统中的数据集,非常适合数据仓库的统计分析

Hive 不适合用于连机事物处理、也不提供实时查询,比较适合在大量不可变数据的批处理作业。

二、下载与安装

1、下载hive压缩包,并复制到centos系统的/opt/module目录下

2、解压文件:tar -zxvf apache-hive-1.0.1-bin.tar.gz    执行重命名文件夹为  hive

3、添加hive-1.0.1到环境变量中,本文前提是已经配置好了hadoop的运行环境,运行环境为hadoop2.2

vi /etc/profile
插入内容
export HIVE_HOME=/opt/modules/hive
export PATH=$PATH:$HIVE_HOME

4、配置hive-default.xml和hive-site.xml文件

进入到/opt/modules/hive/conf,将hive-default.xml.template 复制为hive-default.xml和hive-site.xml文件,修改hive-env.xml文件的权限

chmod u+x hive-env.sh

5、在shell命令行中,输入:hive   则会进入到hive的shell命令窗口

(在配置的过程中,遇到了很多的问题,不过根据log日志,可以一步一步的解决问题)

三、架构

hive的架构可以分为四个部分

  • 用户接口
  • 主要有CLI、Client和WUI,CLI启动的时候,会同时启动一个hive的副本
  • 元数据存储
  • hive中的元数据是存储在RDBMS中的,如:MySQL,hive的元数据包括表的名字、表的列、表的属性、表的数据所在的目录
  • 在hive中,每个数据库对于与HDFS文件系统的一个目录,在数据库中创建的表,则在相应的数据库目录下,为数据库目录的子目录。
  • 解释器、编译器、优化器
  • 使用HQL语句查询,需要从词法分析、语法分析、编译、优化以及查询计划的生成,生成的查询信息存储在HDFS中,然后由MapReduce调用执行
  • 数据存储
  • hive的数据存储在HDFS中的,大部分的查询都被解释为MapReduce任务,只有少部分直接读取文件

架构图如下所示。

si

四、存储元数据到MySQL数据库中

a  安装MySQL数据库

yum install -y mysql-server mysql mysql-deve

b、重启mysql服务

service mysqld restart

c、登陆MySQL,并授予权限

mysql -u root -p ***

分配权限:grant all privileges on *.* to 'root'@'hadoop-yarn' identified by 'root123';

刷新权限:flush privileges

d、创建hive专用的元数据库:“hive”

create database hive;

e、在Hive的conf目录下的hive-site.xml文件添加以下配置

    <property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop-yarn:3306/hive?characterEncoding=UTF-8</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>root123</value>
</property>

f、将mysql的驱动包复制到hive目录的lib目录下

g、启动hive命令,如下图所示

h、进入MySQL数据库

执行命令:use hive

  show tables   如图所示

到此,hive的环境搭建结束,元数据metastore存储在MySQL数据库中。

(1)、hive框架搭建和架构简介的更多相关文章

  1. SpringMVC笔记——SSM框架搭建简单实例

    落叶枫桥 博客园 首页 新随笔 联系 订阅 管理 SpringMVC笔记——SSM框架搭建简单实例 简介 Spring+SpringMVC+MyBatis框架(SSM)是比较热门的中小型企业级项目开发 ...

  2. Unity 游戏框架搭建 2018 (一) 架构、框架与 QFramework 简介

    约定 还记得上版本的第二十四篇的约定嘛?现在出来履行啦~ 为什么要重制? 之前写的专栏都是按照心情写的,在最初的时候笔者什么都不懂,而且文章的发布是按照很随性的一个顺序.结果就是说,大家都看完了,都还 ...

  3. Unity 游戏框架搭建 2019 (五十二~五十四) 什么是库?&第四章总结&第五章简介

    在上一篇,我们对框架和架构进行了一点探讨.我们在这一篇再接着探讨. 什么是库呢? 来自同一位大神的解释: 库, 插到 既有 架构 中, 补充 特定 功能. 很形象,库就是搞这个的.我们的库最初存在的目 ...

  4. Unity 游戏框架搭建 (十六) v0.0.1 架构调整

    背景: 前段时间用Xamarin.OSX开发一些工具,遇到了两个问题. QFramework的大部分的类耦合了Unity的API,这样导致不能在其他CLR平台使用QFramework. QFramew ...

  5. Unity 游戏框架搭建 2019 (九~十二) 第一章小结&第二章简介&第八个示例

    第一章小结 为了强化教程的重点,会在合适的时候进行总结与快速复习. 第二章 简介 在第一章我们做了知识库的准备,从而让我们更高效地收集示例. 在第二章,我们就用准备好的导出工具试着收集几个示例,这些示 ...

  6. Unity 游戏框架搭建 2019 (三十九、四十一) 第四章 简介&方法的结构重复问题&泛型:结构复用利器

    第四章 简介 方法的结构重复问题 我们在上一篇正式整理完毕,从这一篇开始,我们要再次进入学习收集示例阶段了. 那么我们学什么呢?当然是学习设计工具,也就是在上篇中提到的关键知识点.这些关键知识点,大部 ...

  7. Unity 游戏框架搭建 2019 (五十六/五十七) 需求分析-架构中最重要的一环&从 EmptyGO 到 Manager Of Managers

    我们的项目开始立项的时候,最常见的一个情况就是:几个人的小团队,一开始什么也不做,就开始写代码,验证逻辑,游戏就开始写起来了.而公司的一些所谓的领导层面一开始就把游戏定义为我们要做一个大作.这个事情本 ...

  8. [c#]asp.net开发微信公众平台(2)多层架构框架搭建和入口实现

    上篇已经设计出比较完善的数据库了,这篇开始进入代码.  首先把上篇设计的数据库脚本在数据库中执行下,生成数据库,然后在VS中建立项目,为了方便理解和查看,我设计的都是很直白的类名和文件名,没有命名空间 ...

  9. Unity 游戏框架搭建 2019 (二十一、二十二) 第三章简介&整理前的准备

    整理前的准备 到目前为止,我们积攒了很多示例了,并且每个示例也都贯彻了最的约定和规则. 在上一篇的小结也说了一个比较新的东西:编程体验优化. 在之前我们还积攒了一个问题:代码重复问题. 我们可是忍住整 ...

随机推荐

  1. 算法笔记_160:算法提高 约数个数(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 输入一个正整数N (1 样例输入 12 样例输出 6 样例说明 12的约数包括:1,2,3,4,6,12.共6个 2 解决方案 具体代码如下: im ...

  2. Vue Router 获取url路径参数 query

    https://router.vuejs.org/zh/api/#路由对象属性 $route.query 类型: Object 一个 key/value 对象,表示 URL 查询参数.例如,对于路径  ...

  3. ZOJ 2604 Little Brackets DP

    DP: 边界条件:dp[0][j] = 1 递推公式:dp[i][j] = sum{dp[i-k][j] * dp[k-1][j-1] | 0<k≤i} i对括号深度不超过j的,能够唯一表示为( ...

  4. maven编译war包,pom中必须有的几个dependency

    <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <dependency> ...

  5. ConfigurationManager读取dll的配置文件

    ConfigurationManager读取dll的配置文件 最近一个项目,需要发布dll给第三方使用,其中需要一些配置参数. 我们知道.NET的exe工程是自带的App.config文件的,编译之后 ...

  6. vpngate 的使用

    第一次为小日本打广告.. .我仅仅想仰天大喊..玛的戈壁. .. 竟然活到这个份上了...想出去看看的往下看.. vpngate 下载: http://pan.baidu.com/s/1hq5x3Ly ...

  7. Arrays.sort()

    今天在做一个按更新时间搜寻出某个目录里面的全部文件,因为自己写算法比較花费时间,干脆就用j2se提供的类Arrays提供的sort()方法,这样就比較省力.对于基本数据类型仅仅要Arrays.sort ...

  8. 【PHPmailer】发送邮件(以163邮箱为例)

    1.参考TP社区:http://www.thinkphp.cn/code/989.html 2.phpmailer.rar下载地址:http://www.thinkphp.cn/code/downlo ...

  9. IE6—在链接click事件的响应函数中发送jsonp请求不生效

    $("#link").click(function(){     $.ajax({         type: 'GET',         dataType: 'jsonp', ...

  10. STL容器分析--queue

    queue,顾名思义,是指队列.满足先进先出的原则.