1. 首页 > 软件安装教程 > 正文

hive安装-hive 3.1.3 for RHEL 9安装配置及升级迁移详细过程

1. 硬件环境检查

在安装hive之前,必须对服务器的硬件环境进行全面检查,确保满足hive 3.1.3的最低要求。更多学习教程www.fgedu.net.cn

# 检查内存大小
# free -h
total used free shared buff/cache available
Mem: 32G 2.1G 28G 8.5M 1.8G 29G
Swap: 16G 0B 16G

# 检查磁盘空间
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 8.5M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/sda1 50G 15G 36G 30% /
/dev/sdb1 500G 20G 480G 4% /data

# 检查CPU核心数
# nproc
8

# 检查系统架构
# uname -m
x86_64

生产环境建议:Hive集群建议至少3个节点,每个节点内存16GB以上,CPU 8核心以上,磁盘空间500GB以上。数据目录建议使用SSD或RAID阵列,以提高性能。

2. 操作系统检查

hive 3.1.3支持RHEL 7.3+、RHEL 8.0+、RHEL 9.0+等操作系统。本文以RHEL 9为例。学习交流加群风哥微信: itpux-com

# 检查操作系统版本
# cat /etc/redhat-release
Red Hat Enterprise Linux release 9.0 (Plow)

# 检查内核版本
# uname -r
5.14.0-70.22.1.el9_0.x86_64

# 检查SELinux状态
# getenforce
Disabled

# 关闭SELinux(如未关闭)
# vi /etc/selinux/config
SELINUX=disabled

# 检查防火墙状态
# systemctl status firewalld

# 关闭防火墙(生产环境建议开放特定端口而非完全关闭)
# systemctl stop firewalld
# systemctl disable firewalld

3. 安装准备

在安装hive之前,需要进行一系列准备工作,包括安装Java、Hadoop和MySQL等。

# 安装Java
# dnf install -y java-1.8.0-openjdk-devel

# 配置Java环境变量
# echo “export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk” >> ~/.bashrc
# echo “export PATH=$JAVA_HOME/bin:$PATH” >> ~/.bashrc
# source ~/.bashrc

# 安装Hadoop
# wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
# tar -zxvf hadoop-3.3.4.tar.gz -C /opt/
# echo “export HADOOP_HOME=/opt/hadoop-3.3.4” >> ~/.bashrc
# echo “export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin” >> ~/.bashrc
# source ~/.bashrc

# 安装MySQL
# dnf install -y mariadb-server
# systemctl start mariadb
# systemctl enable mariadb

风哥提示:Hive依赖于Hadoop和MySQL(或其他数据库)作为Metastore,必须先安装并启动这些服务。

4. hive软件安装

现在开始安装hive 3.1.3软件,按照以下步骤进行。

# 下载Hive安装包
# wget https://archive.apache.org/dist/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz

# 解压安装包
# tar -xzvf apache-hive-3.1.3-bin.tar.gz -C /opt/
# mv /opt/apache-hive-3.1.3-bin /opt/hive

# 配置Hive环境变量
# echo “export HIVE_HOME=/opt/hive” >> ~/.bashrc
# echo “export PATH=$PATH:$HIVE_HOME/bin” >> ~/.bashrc
# source ~/.bashrc

5. 数据库配置

配置Hive的核心配置文件和Metastore。

# 创建Metastore数据库
# mysql -u root -p << EOF CREATE DATABASE metastore; CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive'; GRANT ALL PRIVILEGES ON metastore.* TO 'hive'@'localhost'; FLUSH PRIVILEGES; EOF # 配置hive-site.xml # vi /opt/hive/conf/hive-site.xml javax.jdo.option.ConnectionURL
jdbc:mysql://localhost:3306/metastore?createDatabaseIfNotExist=true
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
javax.jdo.option.ConnectionUserName
hive
javax.jdo.option.ConnectionPassword
hive
hive.metastore.warehouse.dir
/user/hive/warehouse
hive.metastore.uris
thrift://localhost:9083

# 下载MySQL驱动
# wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.28.tar.gz
# tar -zxvf mysql-connector-java-8.0.28.tar.gz
# cp mysql-connector-java-8.0.28/mysql-connector-java-8.0.28.jar /opt/hive/lib/

# 初始化Metastore
# schematool -dbType mysql -initSchema -url jdbc:mysql://localhost:3306/metastore -username hive -password hive

6. 测试验证

启动Hive并验证功能正常。学习交流加群风哥QQ113257174

# 启动Metastore服务
# nohup hive –service metastore > /var/log/hive/metastore.log 2>&1 &

# 启动HiveServer2
# nohup hive –service hiveserver2 > /var/log/hive/hiveserver2.log 2>&1 &

# 连接Hive
# beeline -u jdbc:hive2://localhost:10000 -n hive -p hive

# 创建测试表
CREATE TABLE test (id INT, name STRING);

# 插入测试数据
INSERT INTO test VALUES (1, ‘test’);

# 查询测试数据
SELECT * FROM test;

# 退出beeline
!quit

7. 备份配置

配置Hive备份策略,确保数据安全。

# 创建备份目录
# mkdir -p /backup/hive

# 备份Metastore数据库
# mysqldump -u hive -p metastore > /backup/hive/metastore_backup_$(date +%Y%m%d).sql

# 备份Hive配置
# cp -r /opt/hive/conf /backup/hive/conf_$(date +%Y%m%d)

# 配置自动备份
# 创建备份脚本
# vi /root/backup_hive.sh

#!/bin/bash

DATE=$(date +%Y%m%d)
BACKUP_DIR=”/backup/hive/$DATE”

# 创建备份目录
mkdir -p $BACKUP_DIR

# 备份Metastore数据库
mysqldump -u hive -p’your_password’ metastore > $BACKUP_DIR/metastore_backup.sql

# 备份Hive配置
cp -r /opt/hive/conf $BACKUP_DIR/

# 给脚本添加执行权限
# chmod +x /root/backup_hive.sh

# 添加到crontab
# crontab -e

# 添加以下内容(每天凌晨2点执行备份)
0 2 * * * /root/backup_hive.sh

8. 升级迁移

Hive的升级和迁移过程。

# 升级Hive版本
# 1. 备份配置和数据
# /root/backup_hive.sh

# 2. 停止Hive服务
# pkill -f hive

# 3. 下载新版本安装包
# wget https://archive.apache.org/dist/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz

# 4. 解压安装包
# tar -xzvf apache-hive-3.1.3-bin.tar.gz -C /opt/
# mv /opt/hive /opt/hive-old
# mv /opt/apache-hive-3.1.3-bin /opt/hive

# 5. 复制配置文件和驱动
# cp -r /opt/hive-old/conf/* /opt/hive/conf/
# cp /opt/hive-old/lib/mysql-connector-java-8.0.28.jar /opt/hive/lib/

# 6. 升级Metastore Schema
# schematool -dbType mysql -upgradeSchema -url jdbc:mysql://localhost:3306/metastore -username hive -password hive

# 7. 启动Hive服务
# nohup hive –service metastore > /var/log/hive/metastore.log 2>&1 &
# nohup hive –service hiveserver2 > /var/log/hive/hiveserver2.log 2>&1 &

# 8. 验证升级结果
# hive –version

# 数据库迁移
# 从旧版本Hive迁移到Hive 3.1.3

# 1. 在旧系统上导出表结构
# hive -e “SHOW DATABASES;” > databases.txt
# while read db; do
# if [ “$db” != “default” ]; then
# hive -e “USE $db; SHOW TABLES;” > ${db}_tables.txt
# while read table; do
# hive -e “USE $db; SHOW CREATE TABLE $table;” > ${db}_${table}.sql
# done < ${db}_tables.txt # fi # done < databases.txt # 2. 将备份文件复制到新系统 # scp -r *.txt *.sql root@new-cluster:/backup/hive/ # 3. 在新系统上创建数据库和表 # while read db; do # if [ "$db" != "default" ]; then # hive -e "CREATE DATABASE IF NOT EXISTS $db;" # fi # done < databases.txt # while read db; do # if [ "$db" != "default" ]; then # while read table; do # hive -f ${db}_${table}.sql # done < ${db}_tables.txt # fi # done < databases.txt # 4. 从HDFS复制数据 # hadoop fs -cp hdfs://old-cluster:9000/user/hive/warehouse/* hdfs://new-cluster:9000/user/hive/warehouse/ # 5. 验证迁移结果 # hive -e "SHOW DATABASES;"

风哥提示:Hive升级和迁移前,建议先在测试环境进行演练,确保升级过程顺利。同时,备份所有重要数据,以防万一。

9. 总结

本文详细介绍了hive 3.1.3 for RHEL 9的安装、配置、升级和迁移过程。通过按照本文的步骤操作,可以成功部署Hive服务并确保其稳定运行。from:www.itpux.com

生产环境建议:
– 定期备份Metastore数据库和Hive配置,建议每天执行一次全备份
– 监控Hive服务性能,定期检查日志和错误信息
– 定期更新Hive版本,确保系统安全性和性能
– 合理规划HDFS存储,避免空间不足
– 配置合适的参数,优化Hive查询性能
– 对于生产环境,建议部署高可用的Hive服务,提高可用性和可靠性

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息