hadoop-3.3.0+mysql-8.0+hive-3.1.2+java-8搭建数仓踩坑记录(含优化)

本文记录了在Java 8环境下,使用Hadoop 3.3.0、Hive 3.1.2、MySQL 8.0搭建数仓的过程及遇到的问题。强调必须使用Java 8,因为高于此版本的JDK会导致Hive启动报错。内容包括Hadoop集群、MySQL安装、Hive配置、日志优化以及启用Hive本地模式进行小规模计算的优化技巧。
摘要由CSDN通过智能技术生成

本文验证了hadoop3.3.0整合hive3.1.2在java8环境下是可行的,而在高于8的jdk版本中是不可行的,由于笔者一直使用java14作为开发环境,所以在安装时踩了很多坑,但是也收获颇丰。写这篇文章的目的是让大家在安装的过程中少走弯路,同时也把我在踩坑过程中的发现分享给大家。

安装过程所有的tar包均为Apache官网下载,关于安装hadoop,可以参考我的另一篇文章:

centos8+java14+hadoop-3.3.0搭建hadoop集群(全网最新)

但是这里必须强调的是:必须使用jdk8作为环境,虽然使用java14可以顺利搭建hadoop集群,但是在启动hive数仓时会报错,由于hive安装目录下的某个jar包在加载时使用的是java8的环境,在jdk高于8时,会导致
HiveServer2服务运行异常并在日志打印报错:

java.lang.RuntimeException: Error applying authorization policy on hive configuration: class jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to class java.net.URLClassLoader (jdk.internal.loader.ClassLoaders$AppClassLoader and java.net.URLClassLoader are in module java.base of loader 'bootstrap')
at org.apache.hive.service.cli.CLIService.init(CLIService.java:118) ~[hive-service-3.1.2.jar:3.1.2]
at org.apache.hive.service.CompositeService.init(CompositeService.java:59) ~[hive-service-3.1.2.jar:3.1.2]
at org.apache.hive.service.server.HiveServer2.init(HiveServer2.java:230) ~[hive-service-3.1.2.jar:3.1.2]
at org.apache.hive.service.server.HiveServer2.startHiveServer2(HiveServer2.java:1036) [hive-service-3.1.2.jar:3.1.2]
at org.apache.hive.service.server.HiveServer2.access$1600(HiveServer2.java:140) [hive-service-3.1.2.jar:3.1.2]
at org.apache.hive.service.server.HiveServer2$StartOptionExecutor.execute(HiveServer2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值