一、相关文件下载地址
- Hive信息:
版本:3.1.3
- 下载地址:
http://archive.apache.org/dist/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz
二、安装Hive
1.检查依赖
因为启动Hive之前需要先启动Hadoop集群、MySQL、并且需要JDK,之前有写过M2怎么安装,这里直接引用,需要的可以查看下面跳转一下。
2.上传并解压rpm文件
#将下载好的Hive文件上传至服务器,解压
tar -xvf apache-hive-3.1.3-bin.tar -C /opt/module/
3.替换jar包
#进入到 Hive 安装目录bin目录下,运行Hive脚本:
./hive
#如图所示
#这个报错是因为hadoop和hive的两个guava.jar版本不一致
#hive中版本为:guava-19.0.jar
#hadoop中的版本为:guava-27.0-jre.jar
#(1)到hive的lib目录
cd /opt/module/apache-hive-3.1.3-bin/lib/
#(2)用命令rm -fr 删除guava.jar
rm -rf guava-19.0.jar
#(3)到hadoop的share/hadoop/common/lib目录
cd /opt/module/hadoop-3.2.1/share/hadoop/common/lib/
#(4)用cp指令复制到hive的lib目录
cp -r guava-27.0-jre.jar /opt/module/apache-hive-3.1.3-bin/lib/
#再回到 Hive 安装目录bin目录下,运行Hive脚本:
./hive
#进入hive>说明问题完美解决
4.修改Hive的配置文件
#打开hive的conf目录
cd /opt/module/apache-hive-3.1.3-bin/conf/
#新建hive-site.xml文件
vim hive-site.xml
#添加以下内容:
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop01:3306/hivedb?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=UTF-8</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.cj.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>123456</value>
<description>password to use against metastore database</description>
</property>
</configuration>
5.修改Hadoop配置文件
#打开hive的conf目录
cd /opt/module/hadoop-3.2.1/etc/hadoop/
#修改core-site.xml文件
vim core-site.xml
#在<configuration></configuration>中添加以下内容:
<property>
<name>hadoop.proxyuser.用户名.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.用户组名.groups</name>
<value>*</value>
</property>
6.放置驱动
下载链接:
防失效,放到我的网盘了,点此链接
将下载好的MySQL的驱动包放置到Hive安装目录lib目录下
7.配置Hive环境变量
#修改配置文件
sudo vim /etc/profile.d/my_env.sh
#添加内容
export HIVE_HOME=/opt/module/apache-hive-3.1.3-bin
export PATH=$PATH:$HIVE_HOME/bin
#使其生效
source /etc/profile.d/my_env.sh
8.初始化元数据
schematool -initSchema -dbType mysql -verbose
9.验证Hive
hive --help
#出现如下,代表成功
三、Hive的连接方式
1.CLI
#直接命令行输入hive验证
hive
#出现hive>代表成功
2.HiveServer2/beeline
#命令行输入hiveserver2
hiveserver2
#光标一直闪烁是正常的
#启动为前台,所以我们需要再打开一个终端运行以下命令:
beeline
#代码补充
!connect jdbc:hive2://hadoop01:10000
root/123456
show databases;
四、异常情况
1.在执行!connect jdbc:hive2://hadoop01:10000可能出现情况
#这是因为root用户没有相应权限导致的
#在Linux虚拟机命令行执行,查看集群中跟目录中文件夹权限
hadoop fs -ls /
#将报错中的目标目录增加最大权限,例如我这里是/tmp文件权限不够
hadoop fs -chmod 777 /tmp
2. 还在持续更新中......