Hive是hadoop生态环境的组成之一。通过Hive,可以使得直接用SQL操作HDFS。最大的好处就是让熟悉SQL,但是不了解JAVA的数据分析师使用。其机制就是一个将SQL语言转化为MapReduce的映射器。可作为在Hadoop上架设数据仓库的工具。但是最大的缺点是运行比较慢。
Hive的安装模式有两种,一种为Debug模式,将元数据保存在derby内存数据库中。这样就一次只能允许一个会话链接。另一种为Mysq安装模式。可以利用本地或者远程的Mysql数据库来保存元数据。
本次实验搭建本地mysql安装模式进行安装。
实验环境:
CentOs6.5,Hive(1.x),Mysql Server version:5.1.73
一、Mysql安装配置
1.首先还是和其他教程一样,先看看本机是否已经安装了mysql。如果安了的话先删除
rmp -qa | grep mysql //查看是否安装有mysql;
yum remove mysql //卸载mysql
或者rmp -e mysql //卸载
2.安装mysql
yum install -y mysql y mysql-server mysql-deve
过程和其他教程差不多,可以参考这个http://www.cnblogs.com/shenliang123/p/3203546.html
3.启动mysql
service mysqld start //启动mysql
chkconfig mysqld on //设置开机启动mysql
4.设置root密码
mysqladmin -u root password 'root'
5.配置登陆mysql的hive用户
虽然在我自己的实验中,我直接用的root账户。但是感觉还是不安全,最好还是创建一个单独的账户给hive。
insert into mysql.user(Host,User,Password) values("localhost","hive",password("hive")); //在user用户表里插入一个hive用户
create database hive; // 创建hive保存元数据的hive用户
grant all on hive.* to hive@'%' identified by 'hive'; //对hive用户设置权限
grant all on hive.* to hive@'localhost' identified by 'hive'; //
二、Hive安装包下载解压
这个不用说,在官网上下载一个最新的稳定版本就好。下载后解压在本地。我放的目录是用户主目录下(~)[~是用户主目录,不是卖萌……]
三、配置hive
1.环境变量配置
#set hive
export HIVE_HOME=/home/renjie/hive
export PATH=$PATH:$HIVE_HOME/bin
export CLASSPATH=$CLASSPATH:$HIVE_HOME/lib
2.修改hive-site
将hive-default.xml.templateg改为hive-site.xml,然后编辑
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>hive.querylog.location</name>
<value>/home/renjie/hive/iotmp</value> //自己创建一个路径,修改为自己的路径
<description>Location of Hive run time structured log file</description>
</property>
<property>
<name>hive.server2.logging.operation.log.location</name>
<value>/home/renjie/hive/iotmp/operation_logs</value> //同样自己创建一个路径
<description>Top level directory where operation logs are stored if logg|
</property>
<property>
<name>hive.exec.local.scratchdir</name>
<value>/home/renjie/hive/iotmp</value>
<description>Local scratch space for Hive jobs</description>
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<value>/home/renjie/hive/iotmp</value>
<description>Temporary local directory for added resources in the remote| <description>Temporary local directory for added resources in the remote
</property>
3.将MySql的JDBC拷贝到Hive下的lib目录
单独在mysql官网上下载mysql connector,也就是jdbc的jar包。放到$HIVE_HOME/lib/.
四、配置完成
在启动hadoop后,运行hive命令,查看是否能进入shell