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
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等。
# 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
4. hive软件安装
现在开始安装hive 3.1.3软件,按照以下步骤进行。
# 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。
# 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
# 下载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
# 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的升级和迁移过程。
# 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;"
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
