Hive详细部署教程
此篇博客承接上篇Hadoop和Zookeeper的部署教程,将会详细地对HIve的部署做一个整理,Hive相当于是封装在HDFS和Mapreduce上的一套sql引擎,只需要安装在某个集群的主节点上即可,同时需要注意安装Hive前请确保虚拟机主节点上已经安装好了mysql,那么,现在正式开始吧!
1. 安装准备
首先我们准备好Hive的安装包,这里用到的Hive版本是2.1.0
2. 详细安装步骤
安装前,先将虚拟机做一个快照以备不时之需
2.1 解压缩并修改环境变量
1. 使用远程传输软件将安装包放到/home/centos/downloads下
2. 将此安装包解压缩至/soft目录下
cd /home/centos/downloads
tar -xzvf apache-hive-2.1.0-bin.tar.gz -C /soft
3. 建立符号链接
cd /soft
ln -s apache-hive-2.1.0-bin hive
4. 配置并生效环境变量
nano /etc/profile
末尾处添加,添加后保存退出
#hive环境变量
export HIVE_HOME=/soft/hive
export PATH=$PATH:$HIVE_HOME/bin
生效环境变量
source /etc/profile
5. 修改配置文件/soft/hive/conf
1) cd /soft/hive/conf
2)将所有template文件重命名
rename ".template" "" *.template
3)拷贝hive-default.xml为hive-site.xml
cp hive-default.xml hive-site.xml
4)正式配置文件
修改hive-site.xml文件
说明:由于配置hive需要使用到mysql的数据库存放元数据,因此需要配置mysql四大参数,即驱动,URL,username以及password
需要修改的关键配置如下:
<property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> <description>Driver class name for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> <description>Username to use against metastore database</description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>root</value> <description>password to use against metastore database</description> </property> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://s101:3306/hive?createDatabaseIfNotExist=true</value> <description> JDBC connect string for a JDBC metastore. To use SSL to encrypt/authenticate the connection, provide database-specific SSL flag in the connection URL. For example, jdbc:postgresql://myhost/db?ssl=true for postgres database. </description> </property>
5)修改剩余配置:修改所有的临时目录为/home/centos/hive,修改所有的用户名为root用户
sed -i 's@${system:java.io.tmpdir}@/home/centos/hive@g' hive-site.xml
sed -i 's@${system:user.name}@root@g' hive-site.xml
6. 使用远程传输软件将mysql-connector-java-5.1.44.jar文件放在hive的lib下(/soft/hive/lib)
7. 进入mysql并授权
mysql -uroot -proot
mysql> grant all PRIVILEGES on *.* to root@'s101' identified by 'root';
8. 初始化元数据:schematool --initSchema --dbType mysql
9. 启动Hive客户端:hive,启动成功,说明配置完成!