hive 3.1.3 on spark 3.0.0 安装教程 (内附重新编译好的jar包)

文章详细介绍了如何在Hive3.1.3上配置和使用Spark3.0.0,包括下载源码、修改源码、重新打包、上传至服务器、使用Maven编译、改造原有Hive环境、上传Sparkjar包至集群以及启动和测试。过程中提到了需要修改的源码部分和配置文件,以及解决编译和部署过程中的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先,如果想要在hive 3.1.3上使用spark 3.0.0,不可避免地要重新编译hive

如果只是配置了hive-site.xml和spark-defaults.conf,那么在插入测试的时候会报如下错误:
FAILED: Execution Error, return code 3 from org.apache.hadoop.hive.ql.exec.spark.SparkTask. Spark job failed during runtime. Please check stacktrace for the root cause.
在这里插入图片描述

1. 下载hive源码包

把hive 3.1.3 的源码包下载到本地,目的是可以用intellij打开,方便修改相关源码。
hive源码包
在这里插入图片描述

2. 解压并用idea打开,改写源码

解压后,文件夹内有一个同名文件夹apache-hive-3.1.3-src,用intellij打开。
在这里插入图片描述

修改内容参考链接:修改内容
具体需要修改的部分如下
在这里插入图片描述

以上圈起来的部分,一个个点进去照着改。怕有的人看不懂,以下图为例:

在这里插入图片描述
最上面表示文件名,直接从intellij找到相关文件修改即可。绿色部分表示要添加的内容,红色部分表示要删除的内容。

修改完毕后,重新打包成 .tar.gz 的格式。

如果你不想自己动手,没关系,我提供了修改好的源码包,里面还有不带hadoop的纯净spark。为啥没有maven编译好的jar包呢,因为租的服务器带宽太垃了,下到本地要半年。
链接:https://pan.baidu.com/s/1FCOJp29P56xZ8RMUYD9A3w
提取码:jjc6

3. 上传压缩包至服务器并maven编译

上传至服务器,例如我上传至 /opt/software/。
在下一步操作前,要先自行安装好maven,没安装的请自行百度。

cd $MAVEN_HOME/conf/
vim settings.xml

settings.xml 中,添加以下镜像:

<mirror>
    <id>alimaven</id>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    <mirrorOf>central</mirrorOf>
    </mirror>
<mirror>
    <id>aliyunmaven</id>
    <mirrorOf>*</mirrorOf>
    <name>spring-plugin</name>
    <url>https://maven.aliyun.com/repository/spring-plugin</url>
 </mirror>

 <mirror>
    <id>repo2</id>
    <name>Mirror from Maven Repo2</name>
    <url>https://repo.spring.io/plugins-release/</url>
    <mirrorOf>central</mirrorOf>
 </mirror>

进入刚刚压缩包上传的路径,解压压缩包:

cd /opt/software/

# 解压
tar -zxvf apache-hive-3.1.3-src.tar.gz

# 进入目录
cd apache-hive-3.1.3-src/

# 使用Maven进行编译打包
mvn clean package -Pdist -DskipTests -Dmaven.javadoc.skip=true

打包需要一段时间,完成后,进入到 cd packaging/target/ 文件夹,看到有一个编译好的包:
在这里插入图片描述

4. 改造原有hive环境

由于我之前是安装过hive的,此时需要先把旧的hive重命名,比如mv hive hive_old
然后解压我们编译好的包 tar -zxvf apache-hive-3.1.3-bin.tar.gz -C /opt/module/
这里我把解压出来的文件夹重命名成hive。

# 拷贝原先的 hive-site.xml 和 spark-defaults.conf
cp hive_old/conf/hive-site.xml hive/conf/
cp hive_old/conf/spark-defaults.conf hive/conf/

# 拷贝lib下的 mysql jar包,没有的可以自行下载,我上面的链接也有提供
cp hive_old/lib/mysql-connector-java-5.1.37-bin.jar hive/lib/

5. 上传纯净spark jar包至集群

需要spark-3.0.0-bin-without-hadoop.tgz,可以自行下载,也可以从我的链接里下

# 解压
tar -zxvf spark-3.0.0-bin-without-hadoop.tgz

# 创建目录
hadoop fs -mkdir /spark-jars

# 上传至集群
hadoop fs -put spark-3.0.0-bin-without-hadoop/jars/* /spark-jars

6. 启动集群并测试

分别启动 hadoop, metastore, hiveserver2
然后用 bin/hive 启动hive测试一下

create table student(id int, name string);
insert into table student values(1,'abc');

如果出现以下内容,表示 hive 3.1.3 on spark 3.0.0 部署成功了
在这里插入图片描述

如果本文对你有帮助,请点个赞支持一下~~

### 下载 Apache Hive 3.1.3 Apache Hive 是一个建立在 Hadoop 上的数据仓库工具,用于大规模数据集的查询和分析。要下载 Apache Hive 的特定版本(如 3.1.3),可以通过官方镜像站点获取稳定版二进制文件。 以下是关于如何下载 Apache Hive 版本 3.1.3 的说明: 可以从以下链接直接下载 Apache Hive 3.1.3 的二进制分发[^1]: ```plaintext https://dlcdn.apache.org/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz ``` 下载完成后,解压该压缩即可获得安装目录。通常情况下,还需要完成一些额外的配置工作来使 Hive 正常运行,例如设置 MySQL 数据库作为元存储并复制相应的 JDBC 驱动程序到 `lib` 文件夹中[^4]。 如果需要进一步了解打过程或者更多细节,则可参考 Apache 官方文档中的入门指南部分[^2]。 对于 Mac 用户来说,在部署 SparkHive 组合环境时也有专门教程可供查阅[^5]。 #### 启动服务与验证 为了确保 Hive 能够正常运作,需按照如下方式启动 Metastore 和 Hiveserver2 并检查其状态[^3]: ```bash nohup hive --service metastore >> /opt/hadoop/hive-3.1.3/logs/metastore.log 2>&1 & nohup hive --service hiveserver2 >> /opt/hadoop/hive-3.1.3/logs/hiveserver.log 2>&1 & ps -ef | grep HiveMetaStore ps -ef | grep hiveserver2 ``` 通过访问 Web UI (`http://<server-ip>:10002`) 或者查看日志文件确认服务是否已成功初始化。 ### 示例代码:MySQL Jar 复制至 Lib 目录 ```bash cp /usr/share/java/mysql-connector-java.jar /opt/hive/lib/ ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值