Hive安装教程-Hadoop集成Hive

文章目录

  • 前言
  • 一、安装准备
    • [1. 安装条件](#1. 安装条件)
    • [2. 安装jdk](#2. 安装jdk)
    • [3. 安装MySQL](#3. 安装MySQL)
    • [4. 安装Hadoop](#4. 安装Hadoop)
  • 二、安装Hive
    • [1. 下载并解压Hive](#1. 下载并解压Hive)
    • [2. 设置环境变量](#2. 设置环境变量)
    • [3. 修改配置文件](#3. 修改配置文件)
    • [3. 创建hive数据库](#3. 创建hive数据库)
    • [4. 下载MySQL驱动](#4. 下载MySQL驱动)
    • [5. 初始化hive数据库](#5. 初始化hive数据库)
    • [6. 进入Hive命令行界面](#6. 进入Hive命令行界面)
    • [7. 设置允许远程访问](#7. 设置允许远程访问)
  • 总结

前言

本文将介绍安装和配置Hive的步骤。在开始之前,我们需要满足一些安装条件,包括安装JDK、MySQL和Hadoop。我们将逐步指导您完成这些准备工作,并详细说明如何下载、解压和设置Hive。接下来,我们将修改Hive的配置文件,并创建Hive的元数据数据库。最后,我们将演示如何初始化Hive数据库并进入Hive命令行界面,以及如何设置允许远程访问。


一、安装准备

1. 安装条件

  • jdk版本:1.8+
  • MySQL版本:5.7+
  • Hadoop版本:2.2.0+
  • Hive版本:2.3.1

2. 安装jdk

下载地址:https://www.oracle.com/java/technologies/downloads/#java8

下载后上传到/tmp目录下。

然后执行下面命令,用于创建目录、解压,并设置系统级环境变量。

shell 复制代码
mkdir -p /opt/module
tar -zxvf /tmp/jdk-8u391-linux-x64.tar.gz -C /opt/module/
echo >> /etc/profile
echo '#JAVA_HOME' >> /etc/profile
echo "export JAVA_HOME=/opt/module/jdk1.8.0_391" >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
source /etc/profile

3. 安装MySQL

4. 安装Hadoop


二、安装Hive

1. 下载并解压Hive

shell 复制代码
wget --no-check-certificate https://archive.apache.org/dist/hive/hive-2.3.1/apache-hive-2.3.1-bin.tar.gz -P /tmp
mkdir -p /opt/soft/hive
tar -zxvf /tmp/apache-hive-2.3.1-bin.tar.gz -C /opt/soft/hive

2. 设置环境变量

设置Hive系统级环境变量,并加载环境变量。

shell 复制代码
echo >> /etc/profile
echo '#HIVE_HOME' >> /etc/profile
echo "export HIVE_HOME=/opt/soft/hive/apache-hive-2.3.1-bin" >> /etc/profile
echo 'export PATH=$PATH:$HIVE_HOME/bin' >> /etc/profile
source /etc/profile

3. 修改配置文件

默认配置文件 hive-default.xml 不可修改。

shell 复制代码
cd /opt/soft/hive/apache-hive-2.3.1-bin
cp conf/hive-default.xml.template conf/hive-default.xml

创建 hive-site.xml 文件。

shell 复制代码
cd /opt/soft/hive/apache-hive-2.3.1-bin
touch ./conf/hive-site.xml

并添加如下内容,把其中的相关主机名、MySQL账号和密码等修改为自己的。

xml 复制代码
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
    <!-- 设置MySQL的URL -->
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://hadoop103:3306/hive?useSSL=false</value>"
    </property>
    <!-- 设置MySQL的Driver-->
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.cj.jdbc.Driver</value>
    </property>
    <!-- 设置MySQL用户名 -->
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>"
    </property>
    <!-- 设置MySQL密码 -->
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>root</value>"
    </property>
    <!-- 创建hdfs的hive仓库 -->
    <property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/user/hive/warehouse</value>
    </property>
    <!-- 指定hiveserver2连接的host -->
    <property>
        <name>hive.server2.thrift.bind.host</name>
        <value>hadoop103</value>"
    </property>
    <!-- 允许HiveServer2执行模拟用户操作 -->
    <property>
        <name>hive.server2.enable.doAs</name>
        <value>true</value>"
    </property>
    <!-- 指定hiveserver2连接的端口号 -->
    <property>
        <name>hive.server2.thrift.port</name>
        <value>10000</value>
    </property>
    <!--控制在Hive CLI中查询结果是否打印列名的头部信息-->
    <property>
        <name>hive.cli.print.header</name>
        <value>true</value>
    </property>
    <!--控制在Hive CLI中是否打印当前数据库的信息-->
    <property>
        <name>hive.cli.print.current.db</name>
        <value>true</value>
    </property>
    <!--控制是否启用HiveServer2的主/备高可用性(Active/Passive HA)功能,当Hive交互式会话被启用时。启用此功能还需要将hive.server2.support.dynamic.service.discovery设置为启用。-->
    <property>
        <name>hive.server2.active.passive.ha.enable</name>
        <value>true</value>
        <description>Whether HiveServer2 Active/Passive High Availability be enabled when Hive Interactive sessions are
            enabled.This will also require hive.server2.support.dynamic.service.discovery to be enable.
        </description>
    </property>
</configuration>

3. 创建hive数据库

连接到MySQL并创建hive数据库。

shell 复制代码
mysql -phadoop103 -P 3306 -uroot -proot -e "create database if not exists hive;"

4. 下载MySQL驱动

shell 复制代码
wget --no-check-certificate https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.16/mysql-connector-java-8.0.16.jar -P /tmp
cp /tmp/mysql-connector-java-8.0.16.jar $HIVE_HOME/lib

5. 初始化hive数据库

shell 复制代码
$HIVE_HOME/bin/schematool -dbType mysql -initSchema

初始化完成如下图所示。

6. 进入Hive命令行界面

shell 复制代码
$HIVE_HOME/bin/hive

如下图所示,如果可以成功进入Hive命令行界面,则安装成功。

7. 设置允许远程访问

设置允许远程访问。

shell 复制代码
nohup hive --service hiveserver2 &

测试远程访问是否开启成功。

shell 复制代码
beeline -u jdbc:hive2://hadoop103:10000 -n root

成功如下图所示。


总结

本文详细介绍了安装和配置Hive的步骤。您学习了如何下载、解压和设置Hive,并修改了配置文件以适应您的环境。我们还创建了Hive的元数据数据库,并初始化了Hive数据库。最后,我们演示了如何进入Hive命令行界面和设置允许远程访问。通过本文的指导,您应该能够成功安装和配置Hive,并开始使用它进行数据处理和分析。

希望本教程对您有所帮助!如有任何疑问或问题,请随时在评论区留言。感谢阅读!

相关推荐
华农DrLai15 分钟前
Spark SQL Catalyst 优化器详解
大数据·hive·sql·flink·spark
心疼你的一切10 小时前
解密CANN仓库:AIGC的算力底座、关键应用与API实战解析
数据仓库·深度学习·aigc·cann
qq_124987075313 小时前
基于Hadoop的信贷风险评估的数据可视化分析与预测系统的设计与实现(源码+论文+部署+安装)
大数据·人工智能·hadoop·分布式·信息可视化·毕业设计·计算机毕业设计
十月南城15 小时前
Hive与离线数仓方法论——分层建模、分区与桶的取舍与查询代价
数据仓库·hive·hadoop
鹏说大数据17 小时前
Spark 和 Hive 的关系与区别
大数据·hive·spark
B站计算机毕业设计超人17 小时前
计算机毕业设计Hadoop+Spark+Hive招聘推荐系统 招聘大数据分析 大数据毕业设计(源码+文档+PPT+ 讲解)
大数据·hive·hadoop·python·spark·毕业设计·课程设计
B站计算机毕业设计超人17 小时前
计算机毕业设计hadoop+spark+hive交通拥堵预测 交通流量预测 智慧城市交通大数据 交通客流量分析(源码+LW文档+PPT+讲解视频)
大数据·hive·hadoop·python·spark·毕业设计·课程设计
AI架构师小马17 小时前
Hive调优手册:从入门到精通的完整指南
数据仓库·hive·hadoop·ai
数据架构师的AI之路17 小时前
深入了解大数据领域Hive的HQL语言特性
大数据·hive·hadoop·ai
Gain_chance19 小时前
33-学习笔记尚硅谷数仓搭建-DWS层交易域用户粒度订单表分析及设计代码
数据库·数据仓库·hive·笔记·学习·datagrip