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,并开始使用它进行数据处理和分析。

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

相关推荐
计艺回忆路1 小时前
Hive自定义函数(UDF)开发和应用流程
hive·自定义函数·udf
万能小锦鲤15 小时前
《大数据技术原理与应用》实验报告三 熟悉HBase常用操作
java·hadoop·eclipse·hbase·shell·vmware·实验报告
天翼云开发者社区21 小时前
数据治理的长效机制
大数据·数据仓库
王小王-1231 天前
基于Hadoop与LightFM的美妆推荐系统设计与实现
大数据·hive·hadoop·大数据美妆推荐系统·美妆商品用户行为·美妆电商
一切顺势而行1 天前
hadoop 集群问题处理
大数据·hadoop·分布式
万能小锦鲤2 天前
《大数据技术原理与应用》实验报告七 熟悉 Spark 初级编程实践
hive·hadoop·ubuntu·flink·spark·vmware·实验报告
项目題供诗2 天前
Hadoop(二)
大数据·hadoop·分布式
Leo.yuan2 天前
ETL还是ELT,大数据处理怎么选更靠谱?
大数据·数据库·数据仓库·信息可视化·etl
万能小锦鲤2 天前
《大数据技术原理与应用》实验报告五 熟悉 Hive 的基本操作
hive·hadoop·ubuntu·eclipse·vmware·实验报告·hiveql
張萠飛2 天前
flink sql如何对hive string类型的时间戳进行排序
hive·sql·flink