离线数据分析平台实战——110Hive介绍和Hive环境搭建
Hive介绍
Hive是构建在Hadoop之上的数据仓库平台,设计目标就是将hadoop上的数据操作同SQL结合,让熟悉SQL编程的开发人员能够轻松的向Hadoop平台上转移。
Hive可以在HDFS上构建数据仓库存储结构化数据,这些数据来源就是hdfs上,hive提供了一个类似sql的查询语言HiveQL来进行查询、变换数据等操作。
当然HiveQL语句的底层是转换为相应的mapreduce代码进行执行的。
Hive组成
Hive包含用户接口、元数据库、解析器和数据仓库等组件组成,其中用户接口包含shell客户端、JDBC、ODBC、Web接口等。
元数据库主要是指定义在hive中的表结构信息,一般保存到关系型数据库中,默认是derby,一般使用mysql进行保存。
解析器主要功能是将HQL语句转换为mapreduce代码。
数据仓库就是由hdfs组成的数据存储容器。
Hive架构
image.png
Hive安装
Hive根据metastore的存储位置不同,分为三种安装模式:
内嵌模式,本地模式,远程模式。
内嵌模式就是使用derdy存储元数据;
本地模式是将hvie.metastore.local设置为true,就是说metastore和hive客户端安装在同一台机器上;
远程模式指的是我们明确指定metastore安装的机器位置,而且可以指定多个,需要给定参数hive.metastore.uris并且hive.metastore.local必须设置为false。
Hive远程模式安装,使用mysql进行元数据的存储。
安装步骤:
1. 安装mysql数据库。
2. hive本地模式安装。
Hive安装--Mysql安装
安装步骤:
使用root用户安装mysql。
修改/etc/my.cnf文件中的配置信息。
启动mysql
设置root用户密码
root用户登录
创建hive元数据的mysql用户并授权。
使用新用户登录,然后创建数据库,并修改数据库的连接方式。
Hive安装--Hive安装
安装步骤:
下载hive,下载地址:http://archive.cloudera.com/cdh5/cdh/5/hive-0.13.1-cdh5.3.6.tar.gz
解压下载的压缩包。
配置环境变量hive-site.xml。
将mysql-connector-java-5.1.31.jar移动到hive的lib文件夹下。
将bin目录添加到$PATH环境变量中去。
启动metastore服务。hive --service metastore &.
进入hive的shell客户端,验证是否安装成功。
Hive Web界面安装
Hive提供了一个Web的操作客户端,一般我们通过该页面查看hive的信息,配置信息包括:
hive.hwi.listen.host指定监听ip(默认0.0.0.0),
hive.hwi.listen.port监听端口(默认9999),
hive.hwi.war.file=xxx。
另外需要将java的tool.jar文件移动到hive的lib文件夹中。
启动命令为:
hive --service hwi &
{ 如下如hive界面安装步骤参考
1)默认端口号9999
2)启动方式:#hive --service hwi
注意,该方式启动前需要下载hive的源代码,并用jar命令打包相关war包,放到hive的lib目录下,更改hive-site.xml文件的配置,还需要将jdk的bin中的tools.jar放到hive的lib目录下。
3)通过浏览器来访问:http://<IP地址>:9999/hwi/
4)web界面方式只能做查询操作
}
一、 安装mysql
1. 使用root用户: su root
2. 安装
yum install mysql
yum install mysql-server
yum install mysql-devel(可选)
3. 修改配置信息,
添加: vim /etc/my.cnf
[mysql] default-character-set=utf8
[mysqld] character-set-server=utf8
lower_case_table_names=1
4. 启动mysql:
service mysqld restart/stop/start
5. 配置超级用户名和密码,
mysqladmin -u root password 123456
6. root用户登录mysql -u root -p 123456
7. 创建mysql用户:create user'hive'identified by'hive';
8. 授权:grant all privileges on *.* to'hive'@'%'with grant option
9. 重启一下这个mysql服务。 1
0. 使用hive用户创建数据库并修改连接信息。
create database hive;
alter database hive charactersetlatin1;
二、 安装hive
1. 下载hive:http://archive.cloudera.com/cdh5/cdh/5/hive-0.13.1-cdh5.3.6.tar.gz 2. hive的帮助文档位置:https://cwiki.apache.org/confluence/display/Hive/LanguageManual,
hive官网:http://hive.apache.org
3. 参考hive-site.xml文件
4. 将bin目录添加到path目录中,
vim ~/.bash_profile
export HIVE_HOME=/home/hadoop/bigdater/hive-0.13.1-cdh5.3.6/
expor PATH=$PATH:$HIVE_HOME/bin
source~/.bash_profile
5. 移动mysql驱动jar到hive的lib文件夹下。
6. 启动metastore服务(启动hdfs+yarn服务)
hive --service metastore &
7. 进入hive的客户端
hive
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.metastore.uris</name>
<value>thrift://hh:9083</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hh:3306/hive?createDatabaseIfNotExist=true&useUnicode=true&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>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
</property>
</configuration>