hive与传统数据库相比:
Hive简介
Hive 是一个基于 hadoop 的开源数据仓库工具,用于存储和处理海量结构化数据。它把海量数据存储于 hadoop 文件系统,而不是数据库,但提供了一套类数据库的数据存储和处理机制,并采用 HQL (类 SQL )语言对这些数据进行自动化管理和处理。我们可以把 Hive 中海量结构化数据看成一个个的表,而实际上这些数据是分布式存储在 HDFS 中的。 Hive 经过对语句进行解析和转换,最终生成一系列基于 hadoop 的 map/reduce 任务,通过执行这些任务完成数据处理。
Hive的安装部署
该部分的安装需要在Hadoop已经成功安装的基础上,并且要求Hadoop已经正常启动,并且成功安装MySQL。Hadoop正常启动的验证过程如下:
(1)使用下面的命令,看可否正常显示HDFS上的目录列表
[hadoop@master ~]$ hdfs fs -ls /
(2)使用浏览器查看相应界面
http://master:50070
http://master:18088
该页面的结果跟Hadoop安装部分浏览器展示结果一致。如果满足上面的两个条件,表示Hadoop正常启动。
我们将Hive安装在master节点上。所以下面的所有操作都在master节点上进行,并且所有的操作都使用hadoop用户。
- 解压hive的安装包,tar -zxvf ~/apache-hive-0.13.1-bin.tar.gz
- 在mysql中创建hive_meta数据库用来存储hive的元数据
- 修改hive的配置文件hive-site.xml,将下面的内容添加到hive-site.xml文件中:
<property> <name>hive.metastore.local</name> <value>true</value> </property> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://master:3306/hive_meta?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>root</value> </property>
- 将mysql的驱动包放到hive的lib目录下
- 配置hive的环境变量
export HIVE_HOME=/opt/apache-hive-0.13.1-bin export
PATH=$
PATH:$
HIVE_HOME/bin - 启动并验证Hive的安装
安装完毕!