9-Hive的安装与配置

Hive 的安装与配置

1. 任务概述

本任务旨在指导大数据工程师或数据平台管理员,在Hadoop集群环境中完成Hive数据仓库组件的安装与配置。通过本任务的学习与实践,学员将掌握从环境准备、软件部署、依赖冲突解决、核心配置到服务启动的全流程技能。

核心目标:

掌握Hive在Linux环境下的安装配置与故障排查技能。

解决版本兼容性和依赖冲突的实践能力。

2. 知识目标

理解角色: 理解Hive在大数据生态系统中的角色和功能定位(基于Hadoop的数据仓库工具)。

理解依赖: 掌握Hive与Hadoop(底层存储与计算)、MySQL(元数据存储)之间的依赖关系和协同工作原理。

3. 技能目标

Linux操作: 能够熟练使用Linux命令行工具进行目录创建、文件操作和环境配置。

Hive操作: 掌握Hive服务的启动方法和基本操作命令。

4. 素质目标

问题解决: 培养在复杂软件环境中解决依赖冲突和版本兼容性问题的能力。

系统思维: 提升在Linux环境下进行大数据组件安装配置的系统性思维能力。

5. 环境要求

操作系统: CentOS (Linux操作系统)

Java环境: JDK 1.8 或更高版本

集群环境: 已部署的Hadoop集群

数据库: MySQL

6. 任务实施步骤

6.1 准备Hive安装环境

上传安装包: 将Hive安装包(如 apache-hive-3.1.2-bin.tar.gz)和MySQL驱动jar包上传至 /opt/packages/ 目录

6.2 解压与部署Hive

进入到/opt/packages/目录下,输入以下命令解压安装包到/opt/programs目录下:

tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/programs/

进入到/opt/programs/下,重命名目录为apache-hive,输入以下命令:

mv apache-hive-3.1.2-bin /opt/programs/apache-hive

6.3 解决依赖冲突

处理Guava库冲突: 删除Hive自带的旧版Guava,复制Hadoop兼容的新版。

1. 删除旧版,进入/opt/programs/apache-hive/lib/目录下,输入以下命令:

rm -rf guava-19.0.jar

2. 复制新版,确认Hadoop的版本和路径,进入到/opt/module/hadoop-3.1.3/share/hadoop/common/lib/目录下,将guava-27.0-jre.jar 复制到 /opt/programs/apache-hive/lib/目录,并改名为:guava-27.0.jar,输入以下命令:

cp guava-27.0-jre.jar /opt/programs/apache-hive/lib/guava-27.0.jar

进入到/opt/programs/apache-hive/lib/目录下,处理日志包冲突:备份或移除冲突的日志jar包。

mv log4j-slf4j-impl-2.10.0.jar log4j-slf4j-impl-2.10.0.jar.bak

6.4 配置Hive环境变量

编辑系统配置文件profile,该文件在etc目录下:

添加以下配置:

HIVE_HOME

export HIVE_HOME=/opt/programs/apache-hive

export HIVE_CONF_DIR=$HIVE_HOME/conf

export PATH=PATH:JAVA_HOME/bin:HADOOP_HOME/bin:HADOOP_HOME/sbin:$HIVE_HOME/bin

使配置生效:

source /etc/profile

6.5 配置Hive核心参数

进入到cd /opt/programs/apache-hive/conf/目录下,创建并编辑 hive-site.xml 文件,或者用远程工具创建:

vi hive-site.xml

添加以下核心配置(请根据您的环境修改IP、端口和密码):

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>

<!-- 元数据库连接地址 -->

<property>

<name>javax.jdo.option.ConnectionURL</name>

<value>jdbc:mysql://192.168.47.201:3306/hive?createDatabaseIfNotExist=true</value>

</property>

<!-- JDBC驱动 -->

<property>

<name>javax.jdo.option.ConnectionDriverName</name>

<value>com.mysql.jdbc.Driver</value>

</property>

<!-- 数据库用户名 -->

<property>

<name>javax.jdo.option.ConnectionUserName</name>

<value>root</value>

</property>

<!-- 数据库密码 -->

<property>

<name>javax.jdo.option.ConnectionPassword</name>

<value>123456</value>

</property>

<!-- Hive Metastore服务地址 -->

<property>

<name>hive.metastore.uris</name>

<value>thrift://master:9083</value>

</property>

</configuration>

注意:请删除中文注释,如图。

6.6 配置数据库连接

进入到/opt/packages/目录下,复制MySQL驱动jar包到/opt/programs/apache-hive/lib/目录下:

cp mysql-connector-java-5.1.32-bin.jar /opt/programs/apache-hive/lib/

6.7 初始化元数据库

执行初始化命令:

schematool -dbType mysql -initSchema

验证初始化结果: 观察输出信息,确认成功。

在MySQL中验证。

mysql -u root -p123456 -e "show databases;"

(应能看到名为 hive 的数据库)

6.8 启动与验证Hive服务

启动Hadoop集群(三台机器):

输入启动命令

start-all.sh

启动Hive元数据服务(Metastore): (后台运行)

hive --service metastore &

说明: 必须先启动元数据服务,客户端才能成功连接并操作元数据库。

进入Hive命令行界面:

hive

验证安装: 执行基本命令,查看数据库列表。

show databases;

预期效果: 成功进入 hive> 提示符,并看到 default 数据库。

恭喜你,学会了Hive的安装与配置!!!