Hive4.1.0安装和使用指南(2026年10月版本)

大数据学习路线图

【版权声明】版权所有,请勿转载!
作者:厦门大学计算机系林子雨副教授
E-mail: ziyulin@xmu.edu.cn
本博客内容与林子雨编著《大数据技术原理与应用(第5版)》(访问教材官网)教材配套。
本指南介绍了Hive,并详细指引读者安装Hive。 前面第几章学习指南已经指导大家安装Linux操作系统,并安装配置了Hadoop,但是这只表明我们已经安装好了Hadoop分布式文件系统,而Hive需要另外下载安装,本指南就是详细指导大家安装并配置Hive,完成后大家可以结合厦门大学林子雨编著的《大数据技术原理与应用(第5版)》第10章数据仓库Hive进行深入学习。

备注:在安装Hive4.1.0之前,请首先安装Hadoop3.5.0。

一、安装Hive4.1.0

1. 下载并解压Hive安装包
首先需要下载Hive安装包文件,可以到《大数据技术原理与应用(第5版)》教材官网的“下载专区”的“软件”目录下去下载。或者也可以直接点击这里从百度云盘下载软件(提取码:ziyu)。进入百度网盘后,进入“软件”目录,找到apache-hive-4.1.0-bin.tar.gz文件,下载到本地。
$ sudo tar -zxvf ./apache-hive-4.1.0-bin.tar.gz -C /usr/local # 解压到/usr/local中
$ cd /usr/local/
$ sudo mv apache-hive-4.1.0-bin hive # 将文件夹名改为hive
$ sudo chown -R hadoop:hadoop hive # 修改文件权限

注意,上面的hadoop是登录Linux系统的用户名。
2. 配置环境变量
为了方便使用,我们把hive命令加入到环境变量中去,
请使用vim编辑器打开.bashrc文件,命令如下:

vim ~/.bashrc

在该文件最前面一行添加如下内容:

export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
export HADOOP_HOME=/usr/local/hadoop

HADOOP_HOME需要被配置成你机器上Hadoop的安装路径,比如这里是安装在/usr/local./hadoop目录。
保存退出后,运行如下命令使配置立即生效:

source ~/.bashrc

3. 修改/usr/local/hive/conf下的hive-site.xml
执行如下命令:

cd /usr/local/hive/conf
mv hive-default.xml.template hive-default.xml

上面命令是将hive-default.xml.template重命名为hive-default.xml;
然后,使用vim编辑器新建一个配置文件hive-site.xml,命令如下:

cd /usr/local/hive/conf
vim hive-site.xml

在hive-site.xml中添加配置信息。由于网页技术问题,XML文件无法在本网页显示完整内容,会丢失部分代码内容,完整的hive-site.xml文件,请从《大数据技术原理与应用(第5版)》教材官网的“下载专区”百度网盘的“代码”目录下的“第9章 数据仓库Hive“目录下去下载。
hive-site.xml文件内容如下:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <!-- Hive元数据存储位置HDFS -->
    <property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/user/hive/warehouse</value>
    </property>
    <!-- MySQL连接地址 -->
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://localhost:3306/hive_meta?createDatabaseIfNotExist=true&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true</value>
    </property>
    <!-- MySQL驱动类,mysql8用cj包 -->
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.cj.jdbc.Driver</value>
    </property>
    <!-- mysql账号密码,改成你上面创建的 -->
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>hive</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>hive</value>
    </property>
    <!-- metastore服务地址,远程模式用 -->
    <!--
    <property>
        <name>hive.metastore.uris</name>
        <value>thrift://localhost:9083</value>
      </property>
    -->
    <!-- HiveServer2端口,beeline连接端口 -->
    <property>
        <name>hive.server2.thrift.port</name>
        <value>10000</value>
    </property>
    <property>
        <name>hive.server2.thrift.bind.host</name>
        <value>localhost</value>
    </property>
    <!-- 元数据自动初始化 -->
    <property>
        <name>hive.metastore.schema.verification</name>
        <value>true</value>
    </property>
    <property>
        <name>datanucleus.schema.autoCreateAll</name>
        <value>false</value>
    </property>
    <property>
        <name>hive.server2.authentication</name>
        <value>NOSASL</value>
    </property>
    <property>
        <name>hive.server2.enable.doAs</name>
        <value>false</value>
    </property>
    <property>
    <name>hive.server2.thrift.bind.host</name>
    <value>0.0.0.0</value>
    </property>
    <property>
      <name>hive.server2.transport.mode</name>
      <value>binary</value>
    </property>
</configuration>

然后,按键盘上的“ESC”键退出vim编辑状态,再输入:wq,保存并退出vim编辑器。
需要注意的是,你把上面的hive-site.xml配置信息拷贝到本地以后,jdbc:mysql://localhost:3306/hive_meta?createDatabaseIfNotExist=true&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true这行配置信息里面的连接符&,需要替换成“&加上amp加上英文分号”这四个字符(因为“&加上amp加上英文分号”这四个字符在网页上只会显示成一个字符&,所以,你在网页上看到的一个连接符&,它实际上应该是四个字符)。替换以后的效果如下:

二、安装并配置mysql

这里我们采用MySQL数据库保存Hive的元数据,而不是采用Hive自带的derby来存储元数据。
1.Ubuntu24.04下MySQL的安装请参考:Ubuntu安装MySQL
2.下载MySQL JDBC连接驱动JAR包
从本网页开头给出的百度网盘的“软件”目录中下载驱动JAR包mysql-connector-java-8.0.30.jar。

cp mysql-connector-java-8.0.30.jar  /usr/local/hive/lib #将mysql-connector-java-8.0.30.jar拷贝到/usr/local/hive/lib目录下

3. 启动并登陆MySQL Shell

 service mysql start #启动MySQL服务
 mysql -u root -p  #登陆MySQL Shell界面

4. 新建Hive数据库。

mysql> create database hive;    #这个hive数据库与hive-site.xml中localhost:3306/hive的hive对应,两者名称必须一致,用来保存hive元数据

5. 配置MySQL允许Hive接入:

mysql> create user 'hive'@'localhost' identified by 'hive';
mysql> grant all on *.* to 'hive'@'localhost';
#将所有数据库的所有表的所有权限赋给hive用户,后面的hive是配置hive-site.xml中配置的连接密码
mysql> flush privileges;  #刷新mysql系统权限关系表

6. 启动Hadoop HDFS:
在Ubuntu24.04终端窗口中执行如下命令:

cd /usr/local/hadoop
./sbin/start-dfs.sh

7. 启动Hive MetaStore:
在Ubuntu24.04中新建一个终端窗口,执行如下命令:

hive --service metastore

不要关闭该窗口,如果关闭,服务就会停止。
8. 启动HiveServer2:
在Ubuntu24.04中再新建一个终端窗口,执行如下命令:

hive --service hiveserver2

不要关闭该窗口,如果关闭,服务就会停止。
启动HiveServer2的命令,执行起来比较慢,大概需要3分钟左右时间,可以使用下面命令来检测HiveServer2是否启动成功,只有看到以下效果才说明执行成功

9.启动进入beeline命令行交互界面
在Ubuntu24.04中再新建一个终端窗口,执行如下命令:

beeline -u "jdbc:hive2://localhost:10000/default;auth=noSasl" -n hadoop

注意,上面的hadoop是登录Ubuntu的用户名。
上面命令执行成功以后,就会进行beeline交互式执行界面,具体效果如下图所示:

然后,就可以在beeline交互式界面中输入HiveSQL语句,比如:

jdbc:hive2://localhost:10000/default> create database hive;

到此,Hive环境全部搭建成功,并且测试正常,然后,就可以执行《大数据技术原理与应用(第5版)》教材第10章数据仓%