吴超老师课程--Hive的介绍和安装
1.Hive
1.1在hadoop生态圈中属于数据仓库的角色。他能够管理hadoop中的数据,同时可以查询hadoop中的数据。
本质上讲,hive是一个SQL解析引擎。Hive可以把SQL查询转换为MapReduce中的job来运行。
hive有一套映射工具,可以把SQL转换为MapReduce中的job,可以把SQL中的表、字段转换为HDFS中的文件(夹)以及文件中的列。
这套映射工具称之为metastore,一般存放在derby、mysql中。
1.2 hive在hdfs中的默认位置是/user/hive/warehouse,是由配置文件hive-conf.xml中属性hive.metastore.warehouse.dir决定的。
2.hive的安装
(1)解压缩、重命名、设置环境变量
(2)在目录$HIVE_HOME/conf/下,执行命令mv hive-default.xml.template hive-site.xml重命名
在目录$HIVE_HOME/conf/下,执行命令mv hive-env.sh.template hive-env.sh重命名
cd $HIVE_HOME
mv hive-env.sh.template hive-env.sh
mv hive-default.xml.template hive-site.xml
(3)修改hadoop的配置文件hadoop-env.sh,修改内容如下:
export HADOOP_CLASSPATH=.:$CLASSPATH:$HADOOP_CLASSPATH:$HADOOP_HOME/bin
export HADOOP_CLASSPATH=.:$CLASSPATH:$HADOOP_CLASSPATH:$HADOOP_HOME/bin
(4)在目录$HIVE_HOME/bin下面,修改文件hive-config.sh,增加以下内容:
export JAVA_HOME=/usr/local/jdk
export HIVE_HOME=/usr/local/hive
export HADOOP_HOME=/usr/local/hadoop
export JAVA_HOME=/usr/local/jdk
export HIVE_HOME=/usr/local/hive
export HADOOP_HOME=/usr/local/hadoop
3.安装mysql
(1)执行命令rpm -qa | grep mysql 检查是否已经安装MySQL软件。若已经安装则删除
删除linux上已经安装的mysql相关库信息。rpm -e xxxxxxx --nodeps
执行命令rpm -qa | grep mysql 检查是否删除干净
(2)安装mysql服务端 : 执行命令 rpm -i mysql-server-********
(3)启动mysql 服务端: 执行命令 mysqld_safe &
(4)安装mysql客户端 : 执行命令 rpm -i mysql-client-********
(5)设置root用户密码: 执行命令mysql_secure_installation
注:MySQL用户名:root
MySQL密码: 465213a
启动MySQL:mysql -uroot -p465213a (注意是连接起来的,不是分开的)
4. 使用mysql作为hive的metastore
(1)把mysql的jdbc驱动软件放置到hive的lib目录下
(2)修改hive-site.xml文件,修改内容如下:
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop:3306/hive?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>465213a</value>
</property>
修改$HIVE_HOME/conf/hive-site.xml
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop:3306/hive?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>465213a</value>
</property>
为MySQL的远程连接进行设置:在MySQL下执行语句:grant all on hive.* to "root" @"%" identitied by "465213a";
这样就可以使用Windows下的MySQL软件连接虚拟机下的hive表:用户名:root,密码:465213a
实现远程连接。
配置MySQL的metastore
.上传mysql-connector-java-5.1..jar到$HIVE_HOME/lib
.登录MYSQL,创建数据库hive
#mysql -uroot -padmin
mysql>create database hive;
mysql>GRANT all ON hive.* TO root@'%' IDENTIFIED BY '465213a';
mysql>flush privileges;
mysql>set global binlog_format='MIXED';
.把mysql的数据库字符类型改为latin1
5.Hive的metastore
metastore是hive元数据的集中存放地。metastore默认使用内嵌的derby数据库作为存储引擎
Derby引擎的缺点:一次只能打开一个会话
使用Mysql作为外置存储引擎,多用户同时访问
6.Hive运行模式
Hive的运行模式即任务的执行环境
分为本地与集群两种
我们可以通过mapred.job.tracker 来指明
设置方式:
hive > SET mapred.job.tracker=local;
7,Hive的启动方式
(1)、 hive 命令行模式,直接输入#/hive/bin/hive的执行程序,或者输入 #hive --service cli
(2)、 hive web界面的 (端口号9999) 启动方式 #hive --service hwi &
用于通过浏览器来访问hive #http://hadoop:9999/hwi/
(3)、 hive 远程服务 (端口号10000) 启动方式 #hive --service hiveserver &
吴超老师课程--Hive的介绍和安装的更多相关文章
- 吴超老师课程--Pig的介绍和安装
1.Pig是基于hadoop的一个数据处理的框架. MapReduce是使用java进行开发的,Pig有一套自己的数据处理语言,Pig的数据处理过程要转化为MR来运行. 2.Pig的数据处理语言是数 ...
- 吴超老师课程--Hive的执行语句
为什么选择Hive? (1)基于Hadoop的大数据的计算/扩展能力(2)支持SQL like查询语言(3)统一的元数据管理(4)简单编程 一:Hive的数据类型(1)基本数据类型tinyint/sm ...
- 吴超老师课程---Hadoop的伪分布安装
1.1 设置ip地址 执行命令 service network restart 验证: ifconfig1.2 关闭防火墙 执行命令 service ip ...
- 吴超老师课程--HBASE的集群安装
1.hbase的机群搭建过程(在原来的hadoop上的hbase伪分布基础上进行搭建)1.1 集群结构,主节点(hmaster)是hadoop,从节点(region server)是hadoop1和h ...
- 吴超老师课程--Sqoop的安装和介绍
SQOOP是用于对数据进行导入导出的. (1)把MySQL.Oracle等数据库中的数据导入到HDFS.Hive.HBase中 (2)把HDFS.Hive.HBase中的数据导出到MySQ ...
- 吴超老师课程--Hbase介绍和伪分布式安装
1.HBase(NoSQL)的数据模型1.1 表(table),是存储管理数据的.1.2 行键(row key),类似于MySQL中的主键. 行键是HBase表天然自带的.1.3 列族(col ...
- 吴超老师课程---ZooKeeper介绍和集群安装
1.ZooKeeper 1.1 zk可以用来保证数据在zk集群之间的数据的事务性一致.2.如何搭建ZooKeeper服务器集群 2.1 zk服务器集群规模不小于3个节点,要求各服务器之间系 ...
- 吴超老师课程--Flume的安装和介绍
常用的分布式日志收集系统
- 吴超老师课程--Hbase Shell
hbase提供了一个shell的终端给用户交互 名称 命令表达式 创建表 create '表名称', '列族名称1','列族名称2','列族名称N' 添加记录 put '表名称', '行名称', '列 ...
随机推荐
- 提高.net程序性能和稳定性-CLR Profile
CLR Profile能够看到应用程序的内存堆栈情况并且能够查询垃圾回收机制的行为.利用CLR Profile可以确定你的代码哪儿分配了太多内存,从而导致垃圾回收机制的执行,哪些代码长时间的占有内存. ...
- spring quartz定时任务 配置
cronExpression表达式: 字段 允许值 允许的特殊字符秒 0-59 , - * /分 0-59 , - * /小时 0-23 , - * /日期 1-31 , - * ? / L W C月 ...
- Django1.6 +wsgi 部署到Apache2 的步骤。
网上很多教程都是关于1.6之前的版本,很多都不适用,经历告诉我们最靠谱的还是官方文档. 一个Demo例子: 以 python shell开发的方式部署没有问题,但当独立部署到Apache2的过程非常艰 ...
- 爬虫 (3)- lxml库和贴吧图片下载案例
lxml库 lxml 是 一个HTML/XML的解析器,主要的功能是如何解析和提取 HTML/XML 数据. lxml和正则一样,也是用 C 实现的,是一款高性能的 Python HTML/XML 解 ...
- c++ 单例模式 对全局变量的替代
前段时间要实习一个充值接口,创建了一个类(就叫类A好了),这个类A要和另外3个类进行交互,3个类对类A修改的数据是对其他类可见的.这种情况我想到了3个方法: 1.static 静态成员,静态成员为该类 ...
- text样式
text-stroke(文本描边)和text-fill-color(文本填充色)注意点: 目前这两个属性只有webkit内核的Safari和Chrome支持,例如: -webkit-text-stro ...
- C#反射Assembly 详细说明,有项目例子
1.对C#反射机制的理解2.概念理解后,必须找到方法去完成,给出管理的主要语法3.最终给出实用的例子,反射出来dll中的方法 反射是一个程序集发现及运行的过程,通过反射可以得到*.exe或*.dll等 ...
- [Linux 学习] Centos 图形和命令行界面切换
要想切换图形界面和命令行界面切换, 需修改一个文件... root 下, 到 /etc/inittab 修改 id:5:initdefault Linux系统有7个运行级别(runlevel): 运行 ...
- webpack 从入门到工程实践
from:https://www.jianshu.com/p/9349c30a6b3e?utm_campaign=maleskine&utm_content=note&utm_medi ...
- 我如何让echarts实现了分组(原创插件echarts.group代码分享)
前言 echarts是百度出品的一款很棒的前端图表控件,被评为“百度少有的良心产品”.可以实现散点图.折线图.柱状图.地图.饼图.雷达图.K线图等等几十种常用.不常用的图表,效果酷炫. 示例地址:ht ...