关于hadoop3.4.0预编译版本与hive预编译版本记录


结论

hadoop3.4.0的预编译版本需要配合hive4.0.1的预编译版本

前言

配置hadoop3.4.0的过程中需要部署一套hive。参考网络上的资料,使用了hive3.1.3和hive4.1.0的版本,但是却出现了奇怪的现象。

事件记录

第一个现象是,hadoop3.4.0需要用java11才能够正常启动并运行集群。不管是jdk8还是jdk11都会导致namenode和datanode之间产生通信问题。(该现象可参考官网中的记录,记录如下)

In HADOOP-18197, we upgraded the Protobuf in hadoop-thirdparty to version 3.21.12. This version may have compatibility issues with certain versions of JDK8, and you may encounter some errors (please refer to the discussion in HADOOP-18197 for specific details).
To address this issue, we recommend upgrading the JDK version in your production environment to a higher version (> JDK8). We will resolve this issue by upgrading hadoop-thirdparty’s Protobuf to a higher version in a future release of 3.4.x. Please note that we will discontinue support for JDK8 in future releases of 3.4.x.

而问题就在于此,hive3.1.3版本和hive4.1.0版本分别要使用jdk8和jdk17.导致无法正常启动hive

第二个现象是,通过调整环境变量的方法启动了hive后,却在运行阶段产生了各类问题。
如hive3.1.3在插入和计算数据的阶段,提交的mr任务会找不到mr包的主类。
hive4.1.0则是会继续产生jdk的version错误。

声明:一代明君的小屋|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 关于hadoop3.4.0预编译版本与hive预编译版本记录


欢迎来到我的小屋