安装linux/hadoop/jdk/hive

一、电脑硬件最低 & 推荐配置

  • 最低底线:内存 ≥8G,CPU 4 核,硬盘空闲 ≥40G,BIOS 开启虚拟化(VT-x/AMD-V)
  • 推荐:内存 16G,CPU 6 核以上,SSD 固态硬盘(虚拟机读写快很多)

如果内存只有 8G:只搭建伪分布式(单节点),不要做 3 台完全分布式集群,否则电脑巨卡

二、需要准备下载的软件清单

1. 虚拟机软件(二选一)

  1. VMware Workstation Pro(Windows,稳定性好,支持快照、克隆,新手首选,有试用期)
  2. 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. 伪分布式(新手入门首选,1 台 Linux) 一台机器同时运行 NameNode、DataNode、ResourceManager,模拟分布式,资源占用低,足够学习 HDFS、YARN、Hive SQL,写 Hive SQL 练习完全够用
  2. 完全分布式(进阶,3 台 Linux) master + slave1 + slave2 三台虚拟机,真实多节点集群;要求主机内存 ≥16G,用来学习集群扩容、故障调试,初学不建议直接上

四、完整安装顺序(重要!不能颠倒)

  1. 电脑开启 CPU 硬件虚拟化(BIOS 里设置)

  2. 安装虚拟机软件 → 创建 Linux 虚拟机,安装 CentOS7 最小化系统

  3. Linux 基础环境配置(关闭防火墙、关闭 SELinux、配置 hosts、SSH 免密登录、安装 vim/wget 等工具)

  4. 安装 JDK8,配置全局环境变量

  5. 安装 Hadoop,配置伪分布式核心 4 个 xml 文件 → 格式化 HDFS → 启动 HDFS+YARN,网页访问 50070/8088 验证

  6. 安装 MySQL/MariaDB,创建 hive 元数据库,授权账号

  7. 解压 Hive,配置 hive 环境变量、hive-site.xml,放入 mysql 驱动

  8. 初始化 Hive 元数据 schematool -initSchema -dbType mysql

  9. 启动 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 回车安装

  • 语言选择:简体中文(中国)→ 继续

  • 确认,保存退出

  1. 【安装信息摘要】重点配置 3 项:

    • 日期和时间:地区改为上海(Asia/Shanghai)
    • 软件选择:默认【最小安装】(纯命令行,大数据学习够用!不要图形桌面,占用大量内存)
    • 安装位置:进入后直接点【完成】,自动分区(新手不要手动分区)
  2. 可选:【网络和主机名】打开网卡开关,安装完自动联网

  3. 点击右下角 开始安装

  4. 安装过程中设置:

    • ROOT 密码:设置 root 管理员密码(一定要记住!)
    • 可选:创建普通用户(初学可以先不创建)
  5. 等待安装完成 → 点击 重启

第四步:重启登录系统

  1. 重启完成,命令行登录:用户名 root,输入刚才设置的密码(输入时屏幕不显示,正常现象)
  2. 登录成功,出现 [root@localhost ~]# 代表 Linux 安装完成

先做验证(打开终端测试)

右键桌面 → 打开终端,执行两条命令:

复制代码
# 测试能不能解析外网域名(访问公网)
ping www.baidu.com
# 测试网关连通
ping 8.8.8.8

Ctrl + C 停止 ping

✅ 正常:能收到返回数据包 → 外网可用,网络完整配置完成

  1. 确认 VMware 虚拟机网络模式是 NAT(不要桥接,新手 NAT 更稳定)
  2. 拿到 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 设置

  1. 检查 VMware:编辑 → 虚拟网络编辑器 → VMnet8 (NAT) → NAT 设置,确认网关正常,不要开启任何端口限制

  2. 关闭 Windows 宿主机防火墙测试(临时)

  3. 确认虚拟机没有配置代理:

    复制代码
    echo $HTTP_PROXY
    echo $HTTPS_PROXY
    # 如果有输出,清空代理
    unset HTTP_PROXY
    unset HTTPS_PROXY

    第三步:缓存成功后,再执行安装命令

    复制代码
    yum install -y vim wget net-tools

    直接输入 yes

  4. 使用ftp创建三个这样的文件夹

  5. 安装包: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)

前置确认:

  1. Hadoop 集群已经启动,jps 5 个进程全部存在
  2. JDK8 正常,java -version 确认
  3. 目录:/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&amp;serverTimezone=Asia/Shanghai&amp;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

一路交互:

  1. 回车(无旧密码)
  2. 设置 root 密码(例如 Root@123456
  3. 后面全部输入 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&amp;serverTimezone=Asia/Shanghai&amp;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&amp;serverTimezone=Asia/Shanghai&amp;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 操作:

  1. ggdG 一键清空全部内容
  2. i 进入编辑模式,粘贴全部 xml
  3. 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

安装成功

相关推荐
GeW13 小时前
超详细!RHCE10版通用备考策略,内含评分细则解读
linux
用户0413284651313 小时前
Linux 服务开机自启动怎么配置?systemctl enable 原理详解
linux
草莓熊Lotso1 天前
【Redis 初阶】Set 类型深度解析:去重集合的运算能力与实战场景
linux·网络·数据库·windows·redis·tcp/ip·缓存
张文君1 天前
ubuntu26.04坏道坏块分区隔离急速版260831-V0.12
linux·python
贝锐1 天前
从国产化信创设备到商用安卓终端,向日葵如何帮助企业实现统一运维管理?
linux·运维·远程控制
Julien20041 天前
调查和解决 SELinux 问题
linux·运维·服务器·网络·学习方法
小张同学a.1 天前
Docker 容器实战 1—— docker 基础与镜像构建
linux·运维·docker·容器
Best-Wishes2 天前
BurpSuite Pro教育版在linux系统中配置
linux·运维·服务器·网络安全·burpsuite
wuminyu2 天前
深入剖析 Panama Off-heap 的性能损耗与开销
java·linux·c语言·jvm·c++