一、电脑硬件最低 & 推荐配置
- 最低底线:内存 ≥8G,CPU 4 核,硬盘空闲 ≥40G,BIOS 开启虚拟化(VT-x/AMD-V)
- 推荐:内存 16G,CPU 6 核以上,SSD 固态硬盘(虚拟机读写快很多)
如果内存只有 8G:只搭建伪分布式(单节点),不要做 3 台完全分布式集群,否则电脑巨卡
二、需要准备下载的软件清单
1. 虚拟机软件(二选一)
- VMware Workstation Pro(Windows,稳定性好,支持快照、克隆,新手首选,有试用期)
- VirtualBox(完全免费开源,跨平台,适合不想付费)
2. Linux 镜像(推荐 CentOS 7,大数据教程最多,兼容性最好)
CentOS7 ISO 镜像,选择 Minimal 最小化安装(节省资源) 备选:Ubuntu 20.04(文档多,新版推荐)
3. 大数据组件安装包(版本配套很重要!)
推荐稳定学习组合:
- JDK:JDK8(OpenJDK 1.8)(主流兼容,Hadoop3/Hive3 首选)
- Hadoop:3.3.x(3.3.4 / 3.3.6)
- Hive:3.1.2 / 3.1.3(适配 Hadoop3)
- 元数据库:MySQL5.7 / MariaDB(Hive 默认内置 Derby 只适合测试,多会话会报错,正式学习必须装 MySQL 存元数据)
- MySQL 驱动包:mysql-connector-java(放到 hive lib 目录)
4. 辅助工具(Windows 主机)
Xshell / MobaXterm(远程连接 Linux 命令行)、Xftp(上传安装包到虚拟机)
三、两种搭建模式怎么选
- 伪分布式(新手入门首选,1 台 Linux) 一台机器同时运行 NameNode、DataNode、ResourceManager,模拟分布式,资源占用低,足够学习 HDFS、YARN、Hive SQL,写 Hive SQL 练习完全够用
- 完全分布式(进阶,3 台 Linux) master + slave1 + slave2 三台虚拟机,真实多节点集群;要求主机内存 ≥16G,用来学习集群扩容、故障调试,初学不建议直接上
四、完整安装顺序(重要!不能颠倒)
-
电脑开启 CPU 硬件虚拟化(BIOS 里设置)
-
安装虚拟机软件 → 创建 Linux 虚拟机,安装 CentOS7 最小化系统
-
Linux 基础环境配置(关闭防火墙、关闭 SELinux、配置 hosts、SSH 免密登录、安装 vim/wget 等工具)
-
安装 JDK8,配置全局环境变量
-
安装 Hadoop,配置伪分布式核心 4 个 xml 文件 → 格式化 HDFS → 启动 HDFS+YARN,网页访问 50070/8088 验证
-
安装 MySQL/MariaDB,创建 hive 元数据库,授权账号
-
解压 Hive,配置 hive 环境变量、hive-site.xml,放入 mysql 驱动
-
初始化 Hive 元数据 schematool -initSchema -dbType mysql
-
启动 hive,执行建表、导入数据、Hive SQL 查询测试
以下是具体安装步骤
一、虚拟机软件(二选一)
方案 A:VMware Workstation Pro(推荐,稳定支持快照)
官网:Download VMware Workstation ProVMware
⚠️ 新版需要注册博通账号下载;嫌麻烦可以备选免费 VirtualBox
方案 B:VirtualBox(完全免费开源,不用激活)
官网:https://www.virtualbox.org/wiki/Downloads
二、Linux 系统:CentOS 7 Minimal(大数据入门首选)
✅ 国内镜像(高速,推荐) 阿里云:centos-7-isos-x86_64安装包下载-开源镜像站-阿里云 清华源:https://mirrors.tuna.tsinghua.edu.cn/centos/7/isos/x86_64/ 文件选择:CentOS-7-x86_64-Minimal-2009.iso(精简最小版,800M 左右)
官方存档地址(速度慢):https://vault.centos.org/7.9.2009/isos/x86_64/
三、大数据组件(后续 Linux 里上传使用,Windows 先下好)
1. JDK8(OpenJDK 1.8,免费无版权问题)
官网下载页:Downloads for Amazon Corretto 8 - Amazon Corretto 8AWS
清华镜像:https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/8/jdk/x64/linux/ 文件:OpenJDK8U-jdk_x64_linux_hotspot_8uxxx.tar.gz
2. Hadoop 3.3.6
Apache 归档:Index of /dist/hadoop/core/hadoop-3.3.6 国内镜像:Index of /apache/hadoop/core/hadoop-3.3.6 下载:hadoop-3.3.6.tar.gz(binary 二进制包,不要 src 源码包)
3. Hive 3.1.3(适配 Hadoop3)
Apache 归档:Index of /dist/hive/hive-3.1.3 国内镜像:https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-3.1.3/ 下载:apache-hive-3.1.3-bin.tar.gz
完整安装步骤(VMware + CentOS7)
下一步即可
第一步:新建虚拟机


-
打开 VMware → 文件 → 新建虚拟机
-
选择 自定义(高级),下一步,硬件兼容性默认即可
-
安装来源:稍后安装操作系统(推荐,避免自动简易安装),下一步


第三步:开启虚拟机,安装 CentOS7
-
客户机操作系统:Linux → CentOS 7 64 位,下一步
-
虚拟机名称自定义,存放路径选 D/E 盘,不要 C 盘(占用空间很大),下一步腾讯云
-
处理器配置:2 核(根据电脑调整),下一步
-
内存:至少 2048MB(2G),有条件给 4096MB(4G),下一步
-
网络类型:NAT(推荐),可以上网,下一步
-
I/O 控制器、磁盘类型:全部保持默认
-
磁盘:创建新虚拟磁盘 ,下一步

-
最大磁盘大小:20GB,勾选【将虚拟磁盘存储为单个文件】,下一步
-
磁盘文件名默认,下一步 → 完成

-
选中建好的虚拟机 → 编辑虚拟机设置
-
CD/DVD (SATA) → 使用 ISO 映像文件 → 浏览选中下载好的
CentOS-7-x86_64-Minimal.iso -
点击【开启此虚拟机】,鼠标点进虚拟机窗口捕获鼠标,Ctrl+Alt 释放鼠标
-
引导菜单:选择 Install CentOS 7 回车安装
-
语言选择:简体中文(中国)→ 继续
-
确认,保存退出

-
【安装信息摘要】重点配置 3 项:
- 日期和时间:地区改为上海(Asia/Shanghai)
- 软件选择:默认【最小安装】(纯命令行,大数据学习够用!不要图形桌面,占用大量内存)
- 安装位置:进入后直接点【完成】,自动分区(新手不要手动分区)
-
可选:【网络和主机名】打开网卡开关,安装完自动联网
-
点击右下角 开始安装
-
安装过程中设置:
- ROOT 密码:设置 root 管理员密码(一定要记住!)
- 可选:创建普通用户(初学可以先不创建)
-
等待安装完成 → 点击 重启
第四步:重启登录系统
- 重启完成,命令行登录:用户名
root,输入刚才设置的密码(输入时屏幕不显示,正常现象) - 登录成功,出现
[root@localhost ~]#代表 Linux 安装完成
先做验证(打开终端测试)
右键桌面 → 打开终端,执行两条命令:
# 测试能不能解析外网域名(访问公网)
ping www.baidu.com
# 测试网关连通
ping 8.8.8.8
按
Ctrl + C停止 ping
✅ 正常:能收到返回数据包 → 外网可用,网络完整配置完成
- 确认 VMware 虚拟机网络模式是 NAT(不要桥接,新手 NAT 更稳定)
- 拿到 IP:终端输入
ip addr
找到 ens33 那一行 inet 后面的地址,类似 192.168.x.x 2. 执行大数据前置基础优化(关闭防火墙、SELinux,安装工具包)
# 切换root管理员,输入root密码
su - root
# 关闭防火墙并禁止开机自启
systemctl stop firewalld
systemctl disable firewalld
# 关闭SELinux
setenforce 0
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
# 安装常用工具
yum install -y vim wget net-tools
✅ Xshell 连接 CentOS7 虚拟机完整步骤
前提:你的虚拟机网络是 NAT 模式(推荐新手),已经可以 ping 通外网(你已经验证成功)
第一步:在 CentOS 虚拟机内配置 SSH 服务(核心!)
打开虚拟机里的终端,依次执行下面命令:
# 1. 安装SSH服务端(图形版CentOS一般自带,执行无妨)
yum install -y openssh-server
# 2. 启动ssh服务,并设置开机自动启动
systemctl start sshd
systemctl enable sshd
# 3. 查看ssh是否正常运行(显示 active (running) 就是成功)
systemctl status sshd
你之前已经关闭防火墙,所以不用额外放行 22 端口;如果没关防火墙,执行放行命令:
firewall-cmd --permanent --add-service=ssh
firewall-cmd --reload
测试 80 端口连通性
在 root 下执行:curl -I http://mirrors.aliyun.com
4.
curl -I http://mirrors.aliyun.com
如果超时 / 拒绝连接,说明 80 端口不通,我们换 CentOS7 vault 官方归档源(https) 执行整套替换:
# 备份原有repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak2
# 创建 vault 归档源文件(CentOS7官方归档,https协议)
cat > /etc/yum.repos.d/CentOS-Base.repo <<EOF
[base]
name=CentOS-7 - Base
baseurl=https://vault.centos.org/7.9.2009/os/x86_64/os/
gpgcheck=1
gpgkey=https://vault.centos.org/RPM-GPG-KEY-CentOS-7
[updates]
name=CentOS-7 - Updates
baseurl=https://vault.centos.org/7.9.2009/updates/x86_64/
gpgcheck=1
gpgkey=https://vault.centos.org/RPM-GPG-KEY-CentOS-7
[extras]
name=CentOS-7 - Extras
baseurl=https://vault.centos.org/7.9.2009/extras/x86_64/
gpgcheck=1
gpgkey=https://vault.centos.org/RPM-GPG-KEY-CentOS-7
EOF
# 清理并重建缓存
yum clean all
yum makecache
第二步:如果上面 vault 源还是连接拒绝(网络 80/443 拦截)
临时方案:关闭 gpg 校验,跳过证书,或者检查 VMware NAT 设置
-
检查 VMware:编辑 → 虚拟网络编辑器 → VMnet8 (NAT) → NAT 设置,确认网关正常,不要开启任何端口限制
-
关闭 Windows 宿主机防火墙测试(临时)
-
确认虚拟机没有配置代理:
echo $HTTP_PROXY echo $HTTPS_PROXY # 如果有输出,清空代理 unset HTTP_PROXY unset HTTPS_PROXY第三步:缓存成功后,再执行安装命令
yum install -y vim wget net-tools
直接输入 yes
-
使用ftp创建三个这样的文件夹
-
安装包:
jdk-26_linux-x64_bin.tar.gz,上传目录/export/software(你 Xftp 目录)✅完整安装步骤(CentOS7 tar.gz 解压版)
步骤 1:登录 Xshell(root 账号),进入压缩包所在目录
cd /export/software
ls
# 确认能看到 jdk-26_linux-x64_bin.tar.gz
步骤 2:解压 JDK 包
# 解压到当前目录
tar -zxvf jdk-26_linux-x64_bin.tar.gz
解压完成后文件夹名称一般为:`jdk-26`(小版本号会有差异,用 ls 查看真实文件夹名)
> 可选:重命名简化目录(方便后面配置环境变量)
mv jdk-26 jdk26
步骤 3:配置全局环境变量(所有用户生效,推荐)
编辑 profile 文件
vim /etc/profile
按键盘 i 进入编辑模式,文件最末尾追加下面 4 行:
export JAVA_HOME=/export/software/jdk26
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
⚠️注意:
/export/software/jdk26改成你真实解压后的完整路径!
写完保存退出: Esc → 输入 :wq 回车
步骤 4:让环境变量立即生效(必须执行)
source /etc/profile
步骤 5:验证是否安装成功
java -version
javac -version
echo $JAVA_HOME
如果是普通用户可以直接普通用户 admin,写到自己家目录 .bashrc(只对 admin 生效)
不改动系统 /etc/profile,直接 admin 用户执行:
cat >> ~/.bashrc <<'EOF'
export JAVA_HOME=/export/software/amazon-corretto-8.504.01.1-linux-x64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
EOF
source ~/.bashrc
java -version
jdk安装成功

CentOS7 安装 Hadoop(单机伪分布式,学习 Hive 用)
前置条件:JDK8 已经配置成功,执行
java -version能输出版本号。 注意拼写:hadoop,不是 haddoop
1、下载上传 hadoop 安装包
学习推荐版本:hadoop‑3.3.6 (稳定,兼容 hive) 安装包:hadoop‑3.3.6.tar.gz 上传到虚拟机 /export/software 目录
进入目录
cd /export/software
解压:
tar -zxvf hadoop-3.3.6.tar.gz -C /export/
2、配置 Hadoop 环境变量
vi /etc/profile
在文件最末尾追加下面内容
export HADOOP_HOME=/export/hadoop-3.3.6
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
保存退出,加载环境变量
source /etc/profile
验证,输出版本号代表成功
3、配置 Hadoop 核心配置文件
全部配置文件都在:/export/hadoop-3.3.6/etc/hadoop/
① hadoop‑env.sh
bash
vi /export/hadoop-3.3.6/etc/hadoop/hadoop-env.sh
文件里添加你的 JAVA_HOME(改成你本机真实路径)
bash
export JAVA_HOME=/export/software/amazon-corretto-8.504.01.1-linux-x64
② core‑site.xml
bash
vi /export/hadoop-3.3.6/etc/hadoop/core-site.xml
<configuration> 里面粘贴:
xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/export/hadoop‑3.3.6/data/tmp</value>
</property>
③ hdfs‑site.xml
bash
vi /export/hadoop-3.3.6/etc/hadoop/hdfs-site.xml
xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
④ mapred‑site.xml
复制模板文件
bash
cp /export/hadoop-3.3.6/etc/hadoop/mapred-site.xml.template /export/hadoop-3.3.6/etc/hadoop/mapred-site.xml
编辑
bash
vi /export/hadoop-3.3.6/etc/hadoop/mapred-site.xml
xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
⑤ yarn‑site.xml
bash
vi /export/hadoop-3.3.6/etc/hadoop/yarn-site.xml
xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
4、配置免密 ssh(伪分布式必须)
bash
ssh-keygen -t rsa
一路回车到底
bash
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
测试免密登录
bash
ssh localhost
不用输入密码就是正常,输入exit退回命令行。
5、格式化 HDFS(只执行一次!!不要重复执行)
bash
hdfs namenode -format
看到 successfully formatted 代表格式化成功。
6、启动 hadoop
bash
start‑dfs.sh
start‑yarn.sh
查看进程
bash
jps
正常出现 5 个进程:
- NameNode
- DataNode
- SecondaryNameNode
- ResourceManager
- NodeManager
web 页面访问: hdfs:http:// 虚拟机 IP:9870 yarn:http:// 虚拟机 IP:8088
安装成功

Hive‑3.1.2 安装实操(Hadoop3.3.6 + JDK8)
前置确认:
- Hadoop 集群已经启动,
jps5 个进程全部存在 - JDK8 正常,
java -version确认 - 目录:
/export/software放压缩包,/export/install做安装目录
1、下载 Hive
清华镜像下载二进制包,不要下 src 源码包
plaintext
https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz
两种方式任选其一: 方式① Windows 下载,用 Xftp 上传到 /export/software 方式② 虚拟机内直接下载
bash
cd /export/software
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz
2、解压
bash
cd /export/software
tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /export/install/
mv /export/install/apache-hive-3.1.2-bin /export/install/hive-3.1.2
3、配置环境变量
bash
vi /etc/profile
末尾追加
shell
export HIVE_HOME=/export/install/hive-3.1.2
export PATH=$PATH:$HIVE_HOME/bin
生效
bash
source /etc/profile
hive --version
输出版本号代表环境变量正常。
4、处理 guava 包冲突(必须操作,否则运行报错)
bash
rm -f $HIVE_HOME/lib/guava-19.0.jar
cp $HADOOP_HOME/share/hadoop/common/lib/guava-27.0-jre.jar $HIVE_HOME/lib/
5、安装 MySQL8,用来存 hive 元数据
bash
yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
yum install -y mysql-community-server
systemctl start mysqld
systemctl enable mysqld
# 获取临时密码
grep 'temporary password' /var/log/mysqld.log
登录 mysql,把下面密码改成你自己设置的密码
bash
mysql -uroot -p
mysql 里面执行:
sql
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Hive@123456';
CREATE DATABASE hive_metadata DEFAULT CHARACTER SET utf8mb4;
GRANT ALL PRIVILEGES ON hive_metadata.* TO 'root'@'localhost';
FLUSH PRIVILEGES;
exit;
6、放置 mysql8 驱动包
bash
cd $HIVE_HOME/lib
wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.30/mysql-connector-java-8.0.30.jar
7、配置 hive 配置文件
7.1 hive‑env.sh
bash
cp $HIVE_HOME/conf/hive-env.sh.template $HIVE_HOME/conf/hive-env.sh
vi $HIVE_HOME/conf/hive-env.sh
文件末尾粘贴
shell
export JAVA_HOME=/export/install/amazon-corretto-8.504.01.1-linux-x64
export HADOOP_HOME=/export/install/hadoop-3.3.6
export HIVE_CONF_DIR=$HIVE_HOME/conf
7.2 创建 hive‑site.xml
bash
vi $HIVE_HOME/conf/hive-site.xml
复制下面全部内容,把里面 Hive@123456 改成你的 mysql root 密码
xml
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive_metadata?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=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>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>Hive@123456</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
<property>
<name>hive.cli.print.header</name>
<value>true</value>
</property>
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
</property>
<property>
<name>hive.server2.thrift.port</name>
<value>10000</value>
</property>
<property>
<name>hive.server2.thrift.bind.host</name>
<value>192.168.77.128</value>
</property>
<property>
<name>hive.metastore.event.db.notification.api.auth</name>
<value>false</value>
</property>
</configuration>
8、HDFS 创建 hive 所需目录
bash
hdfs dfs -mkdir -p /user/hive/warehouse
hdfs dfs -chmod 777 /user/hive/warehouse
hdfs dfs -mkdir -p /tmp
hdfs dfs -chmod 777 /tmp
9、初始化元数据库【只执行一次!不要重复跑】
bash
schematool -initSchema -dbType mysql -verbose
看到 schemaTool completed 代表初始化成功。
10、进入 hive 客户端测试
确保 hadoop 是启动状态
bash
hive
执行简单测试语句
sql
show databases;
create table test(id int,name string);
insert into test values(1,'lisi');
select * from test;
insert 会提交 YARN 任务,可以浏览器打开
http://192.168.77.128:8088看任务运行情况。
可选:启动 metastore、hiveserver2(用于 beeline 连接)
bash
nohup hive --service metastore > $HIVE_HOME/logs/metastore.log 2>&1 &
nohup hive --service hiveserver2 > $HIVE_HOME/logs/hiveserver2.log 2>&1 &
beeline 连接:
bash
beeline
!connect jdbc:hive2://192.168.77.128:10000 root ""
问题处理,如果遇到问题有几种如下可能

上面一大段 SLF4J 警告是日志 jar 包冲突,不影响运行,可以忽略。
接下来执行 guava 包处理(必做):
bash
rm -f $HIVE_HOME/lib/guava-19.0.jar
cp $HADOOP_HOME/share/hadoop/common/lib/guava-27.0-jre.jar $HIVE_HOME/lib/
做完这一步,继续安装 MySQL8:
bash
yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
yum install -y mysql-community-server
如果 yum 网络慢,等它跑完。安装完成后:
bash
systemctl start mysqld
systemctl enable mysqld
grep 'temporary password' /var/log/mysqld.log

GPG 密钥警告,导致 mysql 包实际没有安装成功 ,所以提示 Unit not found,找不到 mysqld 服务。
方案 A(推荐,跳过 gpg 校验,直接安装 mysql8)
bash
yum install -y mysql-community-server --nogpgcheck
--nogpgcheck跳过公钥校验,解决这个报错。
如果还是不行,换国内 MariaDB 替代(hive 元数据完全兼容,下载更快,无 oracle 密钥坑)
方案 B 改用 MariaDB(大数据学习环境首选,避免 mysql8 各种授权坑)
bash
yum install -y mariadb-server mariadb
启动命令变成:
bash
systemctl start mariadb
systemctl enable mariadb
方案 B 后续操作(mariadb)
bash
#初始化设置密码
mysql_secure_installation
一路交互:
- 回车(无旧密码)
- 设置 root 密码(例如
Root@123456) - 后面全部输入 y 确认。
登录数据库
bash
mysql -uroot -pRoot@123456
执行建库,给 hive 用户授权:
sql
create database hive_metadata default character set utf8 collate utf8_general_ci;
create user 'hive'@'%' identified by 'Hive@123456';
grant all privileges on hive_metadata.* to 'hive'@'%';
flush privileges;
exit;
提示:hive3.1.2 连接 mysql/mariadb,还需要 mysql 驱动包。 把 mysql‑connector‑java‑8.0.30.jar 上传到
$HIVE_HOME/lib目录。
如果你坚持用原版 MySQL8
执行安装的时候必须带上--nogpgcheck
bash
yum install -y mysql-community-server --nogpgcheck
安装完成后再执行
bash
systemctl start mysqld
systemctl enable mysqld
grep 'temporary password' /var/log/mysqld.log

已经装完 MySQL8 了,不要再用 mariadb 命令,mariadb 被 mysql 替换掉了,所以提示 Unit not found。
1、启动 MySQL8
bash
systemctl start mysqld
systemctl enable mysqld
2、获取临时 root 密码
bash
grep 'temporary password' /var/log/mysqld.log
输出类似:A temporary password is generated for root@localhost: xxxxxxxx,复制后面那串随机密码。
3、登录 mysql
bash
mysql -uroot -p
粘贴刚才的临时密码。
4、修改 root 密码(必须强密码:大小写 + 数字 + 符号,示例)
sql
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root@123456';
5、创建 hive 元数据库、hive 用户
sql
create database hive_metadata default character set utf8 collate utf8_general_ci;
create user 'hive'@'%' identified by 'Hive@123456';
grant all privileges on hive_metadata.* to 'hive'@'%';
flush privileges;
exit;
6、准备 mysql 驱动包(hive 必须)
去下载 mysql‑connector‑java‑8.0.30.jar,上传到虚拟机,复制到 hive 的 lib 目录:
bash
cp /export/software/mysql-connector-java-8.0.30.jar $HIVE_HOME/lib/
7、配置 hive-site.xml
bash
cd $HIVE_HOME/conf
cp hive-default.xml.template hive-site.xml
打开 hive‑site.xml,把下面配置替换进去(数据库连接信息)
xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive_metadata?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=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>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>Hive@123456</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
</configuration>
8、初始化 hive 元数据(重点!hive3 必须执行)
bash
schematool -dbType mysql -initSchema
看到 schemaTool completed 代表元数据库初始化成功。

MySQL 用户、库、授权全部完成 ✅ 驱动包 mysql‑connector‑java‑8.0.27.jar 已经复制成功 ❌ op 不是命令,应该用 vi 编辑 hive-site.xml
步骤 1:编辑 hive-site.xml
bash
cd $HIVE_HOME/conf
vi hive-site.xml
把文件里面全部原有内容删除,粘贴下面完整配置:
xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive_metadata?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=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>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>Hive@123456</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
</configuration>
vim 操作:
- 按
ggdG一键清空全部内容 - 按
i进入编辑模式,粘贴全部 xml - 按
Esc,输入:wq!回车保存退出
步骤 2:确认 Hadoop 已经启动(必须!)
bash
jps
输出必须看到:NameNode、DataNode。 如果没有,启动 hadoop:
bash
start-dfs.sh
start-yarn.sh
步骤 3:HDFS 创建 hive 仓库目录(hive3 也建议手动建)
bash
hdfs dfs -mkdir -p /user/hive/warehouse
hdfs dfs -chmod 777 /user/hive/warehouse
hdfs dfs -mkdir -p /tmp
hdfs dfs -chmod 777 /tmp
步骤 4:初始化 Hive 元数据(hive3.1.2 核心命令)
bash
schematool -dbType mysql -initSchema
✅成功标志:输出
schemaTool completed如果报错,看报错信息,大部分是驱动、hive-site.xml 配置写错、hadoop 没启动。
步骤 5:启动 hive 客户端
bash
hive
进入 hive 交互窗口,执行测试:
sql
show databases;
create table test(id int);
show tables;
验证全套环境
bash
#退出hive
exit;
#查看hive版本
hive --version
#查看hadoop
hadoop version
#查看java
java -version
#查看mysql状态
systemctl status mysqld
安装成功
