Hive 详细安装过程

Hive简介

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能(HQL)。其本质是将SQL转换为MapReduce的任务进行运算,底层由HDFS来提供数据的存储,hive可以理解为一个将SQL转换为MapReduce的任务的工具。

因为什么使用Hive:

直接使用hadoop所面临的问题

人员学习成本太高 项目周期要求太短 MapReduce实现复杂查询逻辑开发难度太大

为什么要使用Hive

操作接口采用类SQL语法,提供快速开发的能力。 避免了去写MapReduce,减少开发人员的学习成本。 功能扩展很方便。

Hive的特点
可扩展
Hive可以自由的扩展集群的规模,一般情况下不需要重启服务。

延展性
Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数。

容错
良好的容错性,节点出现问题SQL仍可完成执行。

Hive架构图
在这里插入图片描述

Hive和Hadoop的关系

Hive利用HDFS存储数据,利用MapReduce查询分析数据,踩在巨人的肩膀上实现业务

Hive的安装

第一步:在线安装mysql相关的软件包yum install mysql mysql-server mysql-devel
第二步:启动mysql的服务/etc/init.d/mysqld startchkconfig mysqld on
第三步:进入mysql的客户端然后进行授权use mysql;配置远程连接 grant all privileges on . to ‘root’@’%’ identified by ‘123456’ with grant option; flush privileges;
第四步 设置root用户链接mysql的密码update user set password=password(‘123456’) where user=‘root’; flush privileges;

修改hive的配置文件修改hive-env.sh
添加我们的hadoop的环境变量:
cd /export/servers/hive-1.1.0-cdh5.14.0/conf
cp hive-env.sh.template hive-env.sh
vim hive-env.sh

HADOOP_HOME=/export/servers/hadoop-2.6.0-cdh5.14.0
Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/export/servers/hive-1.1.0-cdh5.14.0/conf

修改hive-site.xml
cd /export/servers/hive-1.1.0-cdh5.14.0/conf
vim hive-site.xml

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> javax.jdo.option.ConnectionURL jdbc:mysql://node03.hadoop.com:3306/hive?createDatabaseIfNotExist=true javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver javax.jdo.option.ConnectionUserName root javax.jdo.option.ConnectionPassword 123456 hive.cli.print.current.db true hive.cli.print.header true hive.server2.thrift.bind.host node03.hadoop.com

上传mysql的lib驱动包
将mysql的lib驱动包上传到hive的lib目录下
cd /export/servers/hive-1.1.0-cdh5.14.0/lib
将mysql-connector-java-5.1.38.jar 上传到这个目录下

使用方法
cd /export/servers/hive-1.1.0-cdh5.14.0
bin/hive

查看所有数据库 hive (default)> show databases;