现在的位置: 首页 > 综合 > 正文

Hive安装部署详解

2018年06月05日 ⁄ 综合 ⁄ 共 2405字 ⁄ 字号 评论关闭

一:Hive简介

Hive在Hadoop生态圈中属于数据仓库的角色。它能够管理Hadoop中的数据,同时可以查询Hadoop中的数据。从本质上讲,Hive是一个SQL解析引擎。Hive可以把SQL查询转换为MapReduce的job来运行。

Hive有一套映射工具,可以把SQL转换为MapReduce中的job,可以把SQL中的表、字段转换为HDFS中文件对应的列。这套映射工具称之为metastore,也叫元数据,默认是默认是存在derby中,但derby是单session的,不利于开发,所以我们要将其存储到MYSQL中。

二:Hive安装部署

1.上传解压:tar -zxvf hive-0.9.0.tar.gz

注:Hive是个客户端工具,无所谓伪分布和分布式的概念。


2.为了方便操作,我们对解压后的目录进行重命名:mv hive-0.9.0 hive

3.设置Hive的环境变量:vim /etc/profile

4.刷新配置文件:source /etc/profile

5.重命名hive/conf/hive-default.xml.template文件:mv hive-default.xml.template hive-site.xml

6.重命名hive/conf/hive-env.sh.template文件:mv hive-env.sh.template hive-env.sh

7.修改hadoop/conf/hadoop-env.sh,vim /usr/local/hadoop/conf/hadoop-env.sh内容如下:

export HADOOP_CLASSPATH=.:$CLASSPATH:$HADOOP_CLASSPATH:$HADOOP_HOME/bin

注:这里修改的是Hadoop的env.sh文件,之所要要修改Hadoop,是因为Hive是基于Hadoop的框架。

8.进入$HIVE_HOME/bin目录,vim /usr/local/hive/bin/hive-config.sh,增加以下内容:

export JAVA_HOME=/usr/local/jdk
 export HIVE_HOME=/usr/local/hive
 export HADOOP_HOME=/usr/local/hadoop

注:用户要对应自己的实际情况修改相关配置存放的位置。

至此,Hive安装完毕!


使用hive命令即可进入Hive的终端:hive

注:因为hive是基于hadoop的,所以要先启动Hadoop

Hive的操作和标准SQL大致相同:

注:Hive会把相关名转换为MapReduce中的job,但不是所有命令都会转化,这个后面会讲到。

Hive中的真实数据都是存放在HDFS中的,hive在HDFS中的默认位置是/usr/hive/warehouse,是由配置文件hive-conf.xml中属性hive.metastore.warehouse.dir决定的。我们可以通过浏览器查看:

我们可以修改hive-site.xml文件进行修改:

我们把它修改到/hive目录下:

我们在文章开头说过,Hive的元数据是存在derby中的,但是derby是单session的,不利于我们实际开发中的协作开发,为此,我们需要将元数据存放到MYSQL数据库中,下面我们来安装MYSQL:


1.先查看Linux中有没有MYSQL:rpm -qa | grep mysql

注:如果系统原来就有一些MYSQL文件,我们先删除,使用命令:rpm -e XXX --nodeps

2.安装MYSQL服务端:rpm -i MYSQL-server-5.5.31-2.e16.i686.rpm

启动服务端:mysqld_safe &

3.安装MYSQL客户端:rpm -i MySQL-client-5.5.31-2.e16.i686.rpm

4.修改密码:mysql_secure_installation

注:看清楚YES还是NO,大小写也不要搞错。

登录MYSQL:mysql -uroot -pXXX

5.使用MYSQL作为hive的metastore

5.1 把MYSQL的jdbc驱动包放到hive的lib目录下:cp mysql-connector-java-5.1.10.jar /usr/loca/hive/lib

5.2 修改hive-site.xml文件 :vim /hive/conf/hive-site.xml 修改内容为:

<property>
		<name>javax.jdo.option.ConnectionURL</name>
		<value>jdbc:mysql://liaozhongmin1: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>134045</value>
	</property>

如下图:

登录:hive

6.给MYSQL赋予远程登录的权限:grant all on hive.* to 'root'@'%' identified by '134045';然后再刷新配置使其生效:flush privileges

7.在本地Window7系统下远程连接我们的MYSQL数据库


至此,Hive的安装部署及相关配置就全部完成了!

抱歉!评论已关闭.