CentOS 7部署Hive 3.1.0

本文详细介绍如何在Hadoop集群环境下安装和配置Hive,包括环境准备、Hive安装步骤、配置文件详解及数据库验证过程,为大数据处理提供有力支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、环境

软件版本
Hadoop3.1.1
Hive3.1.0
MySQL8.0.11
JDK1.8

二、安装Hive

http://hive.apache.org/downloads.html下载Hive 3.1.0。在安装Hive前,要先搭建Hadoop集群,Hadoop集群搭建可以参考CentOS 7搭建Apache Hadoop 3.1.1集群

Hive只要在一台Hadoop集群的服务器上安装即可,安装到/usr/local/hive目录下。执行如下命令:

mkdir -p /usr/local/hive
tar -zxvf apache-hive-3.1.0-bin.tar.gz -C /usr/local/hive

接下来配置环境变量,执行命令:vim /etc/profile,打开profile文件,在文件末尾添加Hive配置:

export HIVE_HOME=/usr/local/hive/apache-hive-3.1.0-bin
export PATH=$PATH:$HIVE_HOME/bin

配置好Hive环境变量后,执行命令:source /etc/profile,使环境配置生效。

三、配置Hive

执行命令:cd /usr/local/hive/apache-hive-3.1.0-bin/conf,进入Hive配置目录,执行如下命令复制配置文件:

cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-site.xml
cp hive-log4j2.properties.template hive-log4j2.properties
1、配置hive-env.h

配置java,hadoop,hive目录,如下:

export JAVA_HOME=/usr/local/java/jdk1.8.0_181
export HADOOP_HOME=/usr/local/hadoop/hadoop-3.1.1
export HIVE_HOME=/usr/local/hive/apache-hive-3.1.0-bin
export HIVE_CONF_DIR=$HIVE_HOME/conf
export HIVE_AUX_JARS_PATH=$HIVE_HOME/lib/*
2、配置hive-site.xml

配置MySQL地址、登录名、密码、驱动等。
下载MySQL驱动并复制到lib目录下:cp mysql-connector-java-8.0.11.jar /usr/local/hive/apache-hive-3.1.0-bin/lib。
配置如下:

<property>
    <name>system:java.io.tmpdir</name>
    <value>/usr/local/hive/apache-hive-3.1.0-bin/tmp</value>
</property>
<property>
    <name>system:user.name</name>
    <value>${user.name}</value>
</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>mysql</value>
    <description>password to use against metastore database</description>
</property>
<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://192.168.0.199:3306/hive?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8&amp;useSSL=false</value>
    <description>
        JDBC connect string for a JDBC metastore.
        To use SSL to encrypt/authenticate the connection, provide database-specific SSL flag in the connection URL.
        For example, jdbc:postgresql://myhost/db?ssl=true for postgres database.
    </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>hive.metastore.schema.verification</name>
    <value>false</value>
    <description>
        Enforce metastore schema version consistency.
        True: Verify that version information stored in is compatible with one from Hive jars.  Also disable automatic
        schema migration attempt. Users are required to manually migrate schema after Hive upgrade which ensures
        proper metastore schema migration. (Default)
        False: Warn if the version information stored in metastore doesn't match with one from in Hive jars.
    </description>
</property>
3、配置hive-log4j2.properties

新建并配置日志目录:

property.hive.log.dir = /usr/local/hive/apache-hive-3.1.0-bin/logs

四、启动Hive

在启动Hive前,先在MySQL下创建Hive数据库,执行如下命令:
schematool -dbType mysql -initSchema
创建好数据库后,执行命令:hive,启动并进入hive,如下图所示:
在这里插入图片描述

五、验证Hive

hive常用命令:

show databases;																	//查看数据库
create database database_name;													//新建数据库	
use database_name;																//使用数据库
drop database database_name;													//删除数据库
show tables;																	//查看数据表
show tables in database_name;													//查看数据库下的表
create table ht_big_data (id int, name string)  row format delimited fields terminated by '\t';		//建表
show create table table_name;																		//查看建表语句
load data local inpath 'bigdata.txt' overwrite into table ht_big_data;								//加载数据到表中
load data inpath '/hdfs/hive/bigdata.txt' into table ht_big_data;									//从hdfs中追加数据到hive表
select * from table_name;																			//查看数据
### 安装和配置 HiveCentOS 7Hive 是一个构建在 Hadoop 生态系统上的数据仓库工具,它允许用户使用类 SQL 的查询语言(称为 HiveQL)来查询和管理分布式存储中的大规模数据。以下是安装和配置 Hive 的步骤: #### 1. 系统要求与依赖项 确保你的系统已安装以下组件: - Java Development Kit (JDK):Hive 需要 JDK 来运行。 - Hadoop:Hive 依赖于 Hadoop 提供底层的分布式计算能力。 可以通过以下命令检查是否已经安装了这些组件: ```bash java -version hadoop version ``` 如果没有安装,可以参考 Cloudera 或其他官方文档进行安装 [^3]。 #### 2. 下载并解压 Hive 从 Apache 官方网站下载最新版本的 Hive,并将其解压到指定目录中。例如,将 Hive 解压到 `/usr/lib/hive` 目录下: ```bash sudo mkdir /usr/lib/hive cd Downloads sudo mv apache-hive-<version>-bin /usr/lib/hive ``` #### 3. 设置环境变量 编辑 `~/.bashrc` 文件以添加 Hive 的环境变量: ```bash export HIVE_HOME=/usr/lib/hive/apache-hive-<version>-bin export PATH=$PATH:$HIVE_HOME/bin ``` 保存文件后,执行以下命令使更改生效: ```bash source ~/.bashrc ``` #### 4. 配置 Hive 进入 Hive 的配置目录,通常位于 `$HIVE_HOME/conf`,复制模板文件并进行必要的修改: ```bash cd $HIVE_HOME/conf cp hive-env.sh.template hive-env.sh ``` 编辑 `hive-env.sh` 文件,设置 `HADOOP_HOME` 和 `JAVA_HOME`: ```bash export HADOOP_HOME=/path/to/hadoop export JAVA_HOME=/path/to/java ``` #### 5. 创建 Hive 数据库和元数据存储 Hive 使用一个数据库来存储其元数据信息。默认情况下,Hive 使用的是 Derby 数据库,但为了更好的性能和可靠性,建议使用 MySQL 或 PostgreSQL。 对于 MySQL,首先需要创建一个新的数据库和用户: ```sql CREATE DATABASE hive_metastore; CREATE USER &#39;hiveuser&#39;@&#39;localhost&#39; IDENTIFIED BY &#39;password&#39;; GRANT ALL PRIVILEGES ON hive_metastore.* TO &#39;hiveuser&#39;@&#39;localhost&#39;; FLUSH PRIVILEGES; ``` 然后,在 Hive 的配置文件 `hive-site.xml` 中配置数据库连接信息: ```xml <configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost:3306/hive_metastore?createDatabaseIfNotExist=true</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.cj.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>hiveuser</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>password</value> </property> </configuration> ``` #### 6. 初始化 Hive 元数据库 运行以下命令来初始化 Hive 的元数据库: ```bash schematool -dbType mysql -initSchema ``` #### 7. 启动 Hive 现在你可以启动 Hive 并开始使用它了: ```bash hive ``` 这将打开 Hive 的交互式 shell,你可以在其中执行 HiveQL 查询。 #### 示例代码 下面是一个简单的 HiveQL 查询示例,用于创建表并插入数据: ```sql CREATE TABLE employees (name STRING, salary FLOAT); INSERT INTO TABLE employees VALUES (&#39;Alice&#39;, 50000), (&#39;Bob&#39;, 60000); SELECT * FROM employees; ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值