大数据-玩转数据-hive的安装
一、说明:
本文以mysql安装hive为例,前提是已经部署好好JDK、hadoop、mysql。并且创建了hive元数据管理专用账户hive/Sunbo:123
1 登录mysql
[root@hadoop1 ~]# mysql -u root -p
输入密码登录
2.创建hive用户
mysql> create user 'hive' identified by 'Sunbo:123';
3.给用户赋权
mysql> grant all privileges on *.* to 'hive'@'%' with grant option;
4.刷新系统权限相关表
mysql> flush privileges;
5.hive 用户登录
[root@hadoop1 ~]# mysql -u hive -p
输入密码:Sunbo:123
登录创建hive数据库
二、下载
hive官方下载网址:http://archive.apache.org/dist/hive
三、安装
把下载好的 apache-hive-3.1.2-bin.tar.gz 传到 /home/hadoop/目录下(我的大数据平台程序存放安装统一目录)
解压:
[root@hadoop1 ~]# tar -zxvf apache-hive-3.1.2-bin.tar.gz
修改名称:
[root@hadoop1 ~]# mv apache-hive-1.2.1-bin.tar.gz hive
配置环境变量.bashrc:
[root@hadoop1 ~]# vi /home/hadoop/.bashrc
(此为本人大数据工具程序统一修改环境变量文件,也可以修改/etc/profile)
#hive
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
环境变量生效:
[root@hadoop1 ~]# source /home/hadoop/.bashrc
检查
[root@hadoop1 ~]# hive --version
如图表示配置成功
显示版本号,环境变量配置成功。
修改配置文件
[root@hadoop1 ~]# cd /home/hadoop/hive/conf
修改hive-env.sh
[root@hadoop1 ~]# cp hive-env.sh.template hive-env.sh
加入环境路径:
export JAVA_HOME=/home/hadoop/apps/jdk1.8.0_201
export HADOOP_HOME=/home/hadoop/apps/hadoop-2.10.1
export HIVE_HOME=/home/hadoop/hive
export HIVE_CONF_DIR=/home/hadoop/hive/conf
export HIVE_AUX_JARS_PATH=/home/hadoop/hive/bin
如图:
修改hive-site.xml
[root@hadoop1 ~]# cp hive-default.xml.template hive-site.xml
[root@hadoop1 ~]# vi hive-site.xml
删除原有内容加入
<!--插入开始>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop1: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>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>Sunbo:123</value>
</property>
<!--插入结束>
如图:
创建tmp文件
mkdir /home/hadoop/hive/tmp
并在 hive-site.xml 中修改:把{system:java.io.tmpdir} 改成 /home/hadoop/hive/tmp(三处)
把 {system:user.name} 改成 {user.name} (两处)
修改hive-log4j2.properties
[root@hadoop1 ~]# cp hive-log4j2.properties.template hive-log4j2.properties
修改
property.hive.log.dir = /home/hadoop/hive/logs
如图
将mysql驱动包复制到hive的lib目录下
启动hadoop , mysql
[root@hadoop1 ~]# start-dfs.sh
[root@hadoop1 ~]# /bin/systemctl start mysqld.service
初始化
[root@hadoop1 ~]# cd /home/hadoop/hive/bin/
[root@hadoop1 bin]# ./schematool -initSchema -dbType mysql
如果抛出异常:
Hive throws: WstxParsingException: Illegal character entity: expansion character (code 0x8)
进行以下定位查错
vi hive-site.xml +3235
发现是一个解释性质的说明文档,里面包含的特殊字符 for,直接将for;修改为for;
若初始化显示下图表示初始化成功
执行 hive shell
安装完成