实验目的
1、了解hive的安装部署
2、了解hive的工作原理
实验环境
1、Linux Ubuntu 14.04
2、hadoop-2.6.0-cdh5.4.5
3、hadoop-2.6.0-eclipse-cdh5.4.5.jar
4、hive安装包hive-1.1.0-cdh5.4.5.tar.gz
5、mysql-connector-java-5.1.26-bin.jar
实验内容
在已安装好的Hadoop环境基础上,安装并配置Hive。
实验步骤
1、Hive的安装包hive-1.1.0-cdh5.4.5.tar.gz以及mysql-connector-java-5.1.26-bin.jar,放在/apps/toolbox目录下。
2、切换到/apps/toolbox目录下,将hive-1.1.0-cdh5.4.5.tar.gz,解压缩到/apps目录下
- cd /apps/toolbox
- tar -xzvf hive-1.1.0-cdh5.4.5.tar.gz -C /apps/
再切到/apps目录下,将/apps/hive-1.1.0-cdh5.4.5,重命名为hive
- mv /apps/hive-1.1.0-cdh5.4.5/ /apps/hive
3、使用vim打开用户环境变量
- vim ~/.bashrc
将Hive的bin目录,添加到用户环境变量PATH中。
- #hive config
- export HIVE_HOME=/apps/hive
- export PATH=$HIVE_HOME/bin:$PATH
执行source命令,使Hive环境变量生效。
- source ~/.bashrc
4、由于Hive对元数据的存储,需要连接mysql。所以需要拷贝/apps/toolbox下的mysql-connector-java-5.1.26-bin.jar到hive的lib目录下。
- cp /apps/toolbox/mysql-connector-java-5.1.26-bin.jar /apps/hive/lib/
5、切换到/apps/hive/conf目录下,创建hive-site.xml文件
- cd /apps/hive/conf
- touch hive-site.xml
使用vim打开hive-site.xml文件,并将下列配置项,添加到hive-site.xml文件中
- <configuration>
- <property>
- <name>javax.jdo.option.ConnectionURL</name>
- <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExsit=true;characterEncoding=latin1</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>strongs</value>
- </property>
- </configuration>
由于Hive的元数据会存储在Mysql数据库中,所以需要在Hive的配置文件中,指定mysql的相关信息
javax.jdo.option.ConnectionURL:数据库链接字符串
javax.jdo.option.ConnectionDriverName:连接数据库的驱动包
javax.jdo.option.ConnectionUserName:数据库用户名
javax.jdo.option.ConnectionPassword:连接数据库的密码
6、下面需要告诉hive,Hadoop的环境配置。所以我们需要修改hive-env.sh。首先我们需要将hive-env.sh.template,重命名
- mv /apps/hive/conf/hive-env.sh.template /apps/hive/conf/hive-env.sh
使用vim打开hive-env.sh,并追加hadoop的路径,以及Hive配置文件的路径。
- # Set HADOOP_HOME to point to a specific hadoop install directory
- # HADOOP_HOME=${bin}/../../hadoop
- HADOOP_HOME=/apps/hadoop
- # Hive Configuration Directory can be controlled by:
- # export HIVE_CONF_DIR=
- export HIVE_CONF_DIR=/apps/hive/conf
7、下一步,就是在Mysql中,创建用于存储元数据的数据库。首先,来查看一下 Mysql服务是否已经启动
- sudo service mysql status
通过上图,可以看出,Mysql已正常运行,如果未正常运行,则需要执行启动代码
- sudo service mysql start
如果未安装Mysql则需要执行。目前我们的环境都已安装mysql,所以无需执行此步。
- sudo apt-get install mysql-server
8、进入Mysql,输入命令
- mysql -u root -p
此时会提示输入密码,进入mysql。此处密码为strongs
创建名为hive的数据库,编码格式为latin1编码,用于存储元数据
- create database hive CHARACTER SET latin1;
使用命令,查看数据库是否创建成功
- show databases;
下面,输入exit退出Mysql连接
- exit
9、输入jps,查看Hadoop相关进程是否已经启动。
如果Hadoop未启动,则首先启动hadoop
- /apps/hadoop/sbin/start-all.sh
如果hadoop已启动,则直接输入hive命令,启动Hive命令行
- hive
输入HQL语句,测试Hive是否可以正常使用。
- show databases;
至此Hive安装完毕。