(1)、hive框架搭建和架构简介
一、简介
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框架搭建和架构简介的更多相关文章
- SpringMVC笔记——SSM框架搭建简单实例
落叶枫桥 博客园 首页 新随笔 联系 订阅 管理 SpringMVC笔记——SSM框架搭建简单实例 简介 Spring+SpringMVC+MyBatis框架(SSM)是比较热门的中小型企业级项目开发 ...
- Unity 游戏框架搭建 2018 (一) 架构、框架与 QFramework 简介
约定 还记得上版本的第二十四篇的约定嘛?现在出来履行啦~ 为什么要重制? 之前写的专栏都是按照心情写的,在最初的时候笔者什么都不懂,而且文章的发布是按照很随性的一个顺序.结果就是说,大家都看完了,都还 ...
- Unity 游戏框架搭建 2019 (五十二~五十四) 什么是库?&第四章总结&第五章简介
在上一篇,我们对框架和架构进行了一点探讨.我们在这一篇再接着探讨. 什么是库呢? 来自同一位大神的解释: 库, 插到 既有 架构 中, 补充 特定 功能. 很形象,库就是搞这个的.我们的库最初存在的目 ...
- Unity 游戏框架搭建 (十六) v0.0.1 架构调整
背景: 前段时间用Xamarin.OSX开发一些工具,遇到了两个问题. QFramework的大部分的类耦合了Unity的API,这样导致不能在其他CLR平台使用QFramework. QFramew ...
- Unity 游戏框架搭建 2019 (九~十二) 第一章小结&第二章简介&第八个示例
第一章小结 为了强化教程的重点,会在合适的时候进行总结与快速复习. 第二章 简介 在第一章我们做了知识库的准备,从而让我们更高效地收集示例. 在第二章,我们就用准备好的导出工具试着收集几个示例,这些示 ...
- Unity 游戏框架搭建 2019 (三十九、四十一) 第四章 简介&方法的结构重复问题&泛型:结构复用利器
第四章 简介 方法的结构重复问题 我们在上一篇正式整理完毕,从这一篇开始,我们要再次进入学习收集示例阶段了. 那么我们学什么呢?当然是学习设计工具,也就是在上篇中提到的关键知识点.这些关键知识点,大部 ...
- Unity 游戏框架搭建 2019 (五十六/五十七) 需求分析-架构中最重要的一环&从 EmptyGO 到 Manager Of Managers
我们的项目开始立项的时候,最常见的一个情况就是:几个人的小团队,一开始什么也不做,就开始写代码,验证逻辑,游戏就开始写起来了.而公司的一些所谓的领导层面一开始就把游戏定义为我们要做一个大作.这个事情本 ...
- [c#]asp.net开发微信公众平台(2)多层架构框架搭建和入口实现
上篇已经设计出比较完善的数据库了,这篇开始进入代码. 首先把上篇设计的数据库脚本在数据库中执行下,生成数据库,然后在VS中建立项目,为了方便理解和查看,我设计的都是很直白的类名和文件名,没有命名空间 ...
- Unity 游戏框架搭建 2019 (二十一、二十二) 第三章简介&整理前的准备
整理前的准备 到目前为止,我们积攒了很多示例了,并且每个示例也都贯彻了最的约定和规则. 在上一篇的小结也说了一个比较新的东西:编程体验优化. 在之前我们还积攒了一个问题:代码重复问题. 我们可是忍住整 ...
随机推荐
- ZK框架笔记3、窗体组件
<window title="My First window" border="normal" width="200px" closa ...
- sql 中 ALTER 和 UPDATE 的区别
alter 是DDL语句,是修改数据库中对象(表,数据库,视图..)的语句. 如需在表中添加列,请使用下面的语法: ALTER TABLE table_name ADD column_name dat ...
- nginx location静态文件配置
进入nginx安装目录的conf目录下,修改nginx.conf文件,在一个server{}中添加 一个location 部分配置代码如下 root@ubuntu:/usr/local/nginx/c ...
- Python-深入理解元类(metaclass)
1.使用 type 动态创建类(type 是一个类, 用来创建类对象的元类, 所以也可以继承) type("Person", (), {"name": &quo ...
- ip地址库选择
目前市面上常用的ip地址库,有以下几种 1,新浪的api接口(限制未知)http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js& ...
- Python之基础数学知识
一.线性代数 1.求转置 import numpy m = numpy.mat([[1, 2], [3, 4]]) print("Matrix.Transpose:") print ...
- Asp.Net MVC4的学习概况
周一正式开始了毕业工作.然后学习调试了近4天,刚刚总算在同事的帮助下做出了一个基于Asp.Net MVC4的Hello World显示. 这是一篇最为基础的记录教程,记录内容可能有点混乱,旨在能在刚调 ...
- Mac下忘记了phpAdmin设置的MySQL密码
事情是这样的,我昨天配置完MySQL和PHP环境后,又配置了phpAdmin. 这本来是件好事,结果我看到phpAdmin提醒我说我的MySQL的Root帐号密码是空密码,于是我修改了下密码. 由于p ...
- mongodb - Replication Set成员维护
1.添加复制集成员 ybb:PRIMARY> rs.add("cc.example.com:27020") { "ok" : 1 } ybb:PRIMAR ...
- GridView中实现全选与取消全选,以便同时删除多条数据
我们项目后台操作中不可避免的会有同时删除多项的操作,本文实现的就是当点击全选时,选定当前页中所有项,当取消了某一项的选定,则“全选”CheckBox的checked也为false:然后在后台中取到所选 ...