Hive 环境部署 (Hadoop 3.x + CentOS 7)

CentOS 7 基于 Hadoop 3.x 的 Hive 环境部署指南

1、环境准备

1-1、前置条件
已安装 Hadoop 3.x(伪分布式或完全分布式)

已配置 Java 8/11(JAVA_HOME)

已安装 MySQL/PostgreSQL(存储 Hive 元数据,默认 Derby 仅适合测试)
1-2、系统配置
# 确保 Hadoop 正常运行
jps
# 应包含 NameNode、DataNode、ResourceManager 等

# 创建 Hive 安装目录
sudo mkdir -p /usr/local/hive
sudo chown -R $(whoami):$(whoami) /usr/local/hive

2、安装Hive

2-1、下载并解压 Hive
wget https://downloads.apache.org/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz
tar -xzvf apache-hive-3.1.3-bin.tar.gz
mv apache-hive-3.1.3-bin /usr/local/hive
2-2、配置环境变量
echo 'export HIVE_HOME=/usr/local/hive' >> ~/.bashrc
echo 'export PATH=$PATH:$HIVE_HOME/bin' >> ~/.bashrc
source ~/.bashrc

3、配置Hive

3-1、配置 hive-env.sh
cd /usr/local/hive/conf
cp hive-env.sh.template hive-env.sh
vim hive-env.sh
添加一下内容:
export HADOOP_HOME=/usr/local/hadoop
export HIVE_CONF_DIR=/usr/local/hive/conf
export HIVE_AUX_JARS_PATH=/usr/local/hive/lib
3-2、配置 hive-site.xml
cp hive-default.xml.template hive-site.xml
vim hive-site.xml
<configuration>
  <!-- Hive 元数据存储 -->
  <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.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>

  <!-- HDFS 存储路径 -->
  <property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/user/hive/warehouse</value>
  </property>
  <property>
    <name>hive.exec.scratchdir</name>
    <value>/user/hive/tmp</value>
  </property>

  <!-- 其他优化配置 -->
  <property>
    <name>hive.exec.local.scratchdir</name>
    <value>/tmp/hive</value>
  </property>
  <property>
    <name>hive.downloaded.resources.dir</name>
    <value>/tmp/hive/resources</value>
  </property>
</configuration>

4、配置MySQL 作为元数据库

4-1、安装MySQL
sudo yum install -y mariadb-server mariadb
sudo systemctl start mariadb
sudo systemctl enable mariadb
mysql_secure_installation  # 设置 root 密码
Maricadb 与 Mysql 关系
MariaDB 是 MySQL 的“开源增强版”,适合希望规避 Oracle 控制或需要扩展功能的用户。

MySQL 仍是企业级标准选择,尤其依赖 Oracle 生态时。

两者在大多数场景下可互换,但需测试兼容性后再迁移。

版本对应关系:
MySQL 5.7 ≈ MariaDB 10.2~10.3
MySQL 8.0 ≈ MariaDB 10.4+
4-2、创建 Hive 元数据库
mysql -u root -p
执行SQL
CREATE DATABASE hive_metastore;
CREATE USER 'hiveuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON hive_metastore.* TO 'hiveuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
4-3、下载MySQL JDBC 驱动
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.49.tar.gz
tar -xzvf mysql-connector-java-5.1.49.tar.gz
cp mysql-connector-java-5.1.49/mysql-connector-java-5.1.49.jar /usr/local/hive/lib/

5、初始化 Hive 元数据库

schematool -dbType mysql -initSchema
输出 schemaTool completed 表示成功。

6、启动 Hive

6-1、创建 HDFS 目录
hdfs dfs -mkdir -p /user/hive/warehouse
hdfs dfs -mkdir -p /user/hive/tmp
hdfs dfs -chmod -R 777 /user/hive
6-2、启动 Hive Cli
hive
测试基本操作
SHOW DATABASES;
CREATE TABLE test (id INT, name STRING);
INSERT INTO test VALUES (1, 'hadoop');
SELECT * FROM test;

posted on 2025-06-13 11:23  cloud_wh  阅读(97)  评论(0)    收藏  举报

导航