[Hive]五、Hive 源码编译

news2024/11/22 5:26:03

G:\Bigdata\2.hive\大数据技术之Hive源码编译

1章 部署Hadoop和Hive

1.1 版本测试

Hadoop3.3.6 和Hive3.1.3

运行hive客户端时报错:

java.lang.NoSuchMethodError:com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V

查看Hadoop在Github上的pom依赖,在hadoop-project模块中: 

hadoop/hadoop-project/pom.xml at rel/release-3.3.6 · apache/hadoop · GitHub

查看Hive的Guava依赖:

hive/pom.xml at rel/release-3.1.3 · apache/hive · GitHub

Hadoop启动后调用了guava-27中的一些方法,而Hive在启动时,它的JVM中加载的是guava-19这个版本,而这版本中就没有这个方法。

2章 Hadoop和Hive的兼容性问题

2.1 问题原因

上述问题是由Hadoop3.1.3版本所依赖的guava-27.0-jre和Hive-3.1.3版本所依赖的guava-19.0不兼容所致。

2.2 解决思路

1)更换Hadoop版本 

        经过观察发现,Hadoop-3.1.0,Hadoop-3.1.1,Hadoop-3.1.2版本的guava依赖均为guava-11.0.2,而到了Hadoop-3.1.3版本,guava依赖的版本突然升级到了guava-27.0-jre。
        Hive-3的所有发行版本的guava依赖均为guava-19.0。而guava-19.0和guava-11.0.2版本是兼容的,所以理论上降低Hadoop版本,这个问题就能得到有效的解决。

通过对github上源码的提交记录,可以找到跟guava相关的信息:branch 选择Hadoop rel/3.1.3

找到hadoop-project的pom.xml, 点击history,搜索guava

点进去之后发现这个升级跟guava的漏洞CVE-018-10237有关:

继续搜索这个漏洞的详细信息,发现里面描述的这个guava漏洞从guava11.0 一直到guava-24版本都存在,因此Hadoop才从3.1.3一下子升级到guava-27. 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2099579.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机的错误计算(八十一)

摘要 讨论双曲正弦函数 sinh(x)的计算精度问题。 例1. 计算 sinh(312.08) . 若在Python下计算,则有: 若在Excel单元格中计算,则有: 事实上,16位的正确值是 0.1712347549914620e136(ISRealsoft 提供&…

MLLM(一)| 文/图生视频任务大升级,BigModel 开源了视频模型CogVideoX

CogVideoX的体验地址:https://bigmodel.cn/console/trialcenter?modelCodecogvideox 自2021年起,智谱 AI 技术团队便开始着手布局包括 text-2-img、text-2-video、img-2-text、video-2-text 在内的多模态模型,并陆续研发并开源了CogView、Co…

0基础学习爬虫系列:Python环境搭建

1.背景 当前网络资源更新非常快,然后对应自己感兴趣的内容,每天盯着刷网站又太费时间。我在尝试借助Ai,搭建一套自己知识抓取更新提醒的系统,这样可以用极少的时间,关注到自己感兴趣的信息。 其实,这套逻辑…

C++使用日志库经验总结

1、log4cpp日志源文件路径设置 在 Visual Studio 中,C 项目的日志格式可以通过设置项目的属性来调整。如果你想要使用完整路径来显示诊断消息,可以在项目属性中的“C/C”选项卡下的“高级”属性页中找到“使用完整路径”(/FC)选项…

幂等的通用实现方案

文章目录 一、幂等的概念1.1 什么是幂等1.2 举个例子 二、幂等问题的解决方案2.1 准备:先添加2张表(账户表、充值订单表)2.2 方案1:update时将status0作为条件判断解决原理源码 2.3 方案2:乐观锁原理源码 2.4 方案3&am…

FMCW雷达介绍以及FMCW雷达测距

调频连续波雷达测距 FMCW radar: Frequency Modulated Continous Wave信号表示形式 调频连续波形式(频域/时域) 发射信号和接收信号 数学表达式 测距模型 该文章详细介绍了单target和多target场景下的FMCW雷达测距!!!…

Datawhale X 李宏毅苹果书 AI夏令营 Task3打卡

实践方法论 1 模型偏差 1.1 基本概念 模型偏差(Model Bias),也称为“偏差误差”或“系统误差”,是指模型预测值与真实值之间的差异,这种差异并不是由随机误差引起的,而是由模型本身的结构或假设导致的。模…

如何在 Raspberry Pi 5 上设置 Raspberry Pi AI Kit

本指南将帮助您在 Raspberry Pi 5 上安装 Raspberry Pi AI Kit。这将使您能够使用 Hailo AI 神经网络加速器运行 rpicam-apps 摄像头演示。 如果您在开始安装人工智能套件之前需要帮助,本指南提供了安装过程的分步图片。 安装人工智能套件:https://www.…

SGM41511电源管理芯片与STM32L496通讯源码虚拟I2C协议实测成功读写cubemx设置裸机和freertos操作系统源码通用

不用它的I2C设置,容易出错不通讯,只打开GPIO输出就可以; 如果是RTOS的话请打开系统定时器提供参考时间基准,那个定时器都行; 以下是经过验证的代码,同样适用于SGM同类系列电源管理芯片; 准备好…

HTML5好看的花店商城源码1

文章目录 1.设计来源1.1 主界面1.2 界面效果11.3 界面效果21.4 界面效果31.5 界面效果41.6 界面效果51.7 界面效果61.8 界面效果7 2.效果和源码2.1 动态效果2.2 源代码 源码下载万套模板,程序开发,在线开发,在线沟通 作者:xcLeigh…

【补-网络安全】日常运维(二)终端端口占用排查

文章目录 一、利用ipconfig、netstat 命令行统计二 、策略封禁IP 引言:检查频繁,第一步我们梳理完资产,第二步应该对资产终端进行一个排查,诊断把脉,了解清楚系统的端口占用及开放情况 一、利用ipconfig、netstat 命令行统计 1.先用ipconfig定位该终端的IP地址 2.明确IP地址后…

9.2(C++ Day 4)

一、作业 完成算术运算符重载&#xff0c;实现至少两个运算符的成员函数和全局函数的版本 1.&#xff08;1&#xff09;成员函数实现算术运算符&#xff08;-&#xff09;重载 const 类名 operator#(const 类名 &R) const {} #include <iostream>using namespac…

三级_网络技术_56_应用题

一、 请根据下图所示网络结构回答下列问题。 1.填写RG的路由表项。 目的网络/掩码长度输出端口__________S0&#xff08;直接连接&#xff09;__________S1&#xff08;直接连接&#xff09;__________S0__________S1__________S0__________S1 (2)在不改变路由表项的前提下&…

mysql安装和使用

文章目录 下载mysqlmysql安装检验mysqlpython、vscode插件 下载mysql 进入官网&#xff0c;选择下载。mysql官网是 https://www.mysql.com/ 。 选择社区版 选择windows版 选择离线包 让你登陆&#xff0c;我们谢绝登录 ojbk。开始下载。 mysql安装 选自定义安装。 “Server…

「漏洞复现」WookTeam searchinfo SQL注入漏洞

0x01 免责声明 请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;作者不为此承担任何责任。工具来自网络&#xff0c;安全性自测&#xff0c;如有侵权请联系删…

用Python导入CSV和Excel表格数据到Word表格

在不同格式的文档之间进行数据传输是非常重要的操作。例如将CSV和Excel表格数据导入到Word文档中&#xff0c;不仅可以实现数据的有效整合与展示&#xff0c;还能极大地提升工作效率和文档的专业性。无论是生成报告、制作统计分析还是编制业务文档&#xff0c;熟练掌握用Python…

Java简单实现服务器客户端通信

目录 Socket 概述Socket 通信模型Socket 编程流程DEMO服务器端客户端 在Java中实现服务器和客户端的通信&#xff0c;可以使用Java Socket编程。 Socket 概述 Socket 指的是“插座”&#xff0c;是应用层与传输层之间的桥梁&#xff0c;用于在网络上进行双向通信。在 Socket …

Ceph-deploy搭建ceph集群

Ceph介绍及安装 一、Ceph介绍1.1 ceph说明1.2 Ceph架构1.3 Ceph逻辑组织架构1.3.1 Pool1.3.2 PG1.3.3 PGP 二、部署Ceph集群2.1 部署方式&#xff1a;2.2 服务器准备monitor、mgr、radosgw&#xff1a;MDS&#xff08;相对配置更高一个等级&#xff09;OSD节点 CPU&#xff1a;…

文献阅读(218)EHP

题目&#xff1a;A Research Retrospective on the AMD Exascale Computing Journey时间&#xff1a;2023会议&#xff1a;ISCA研究机构&#xff1a;AMD 题目&#xff1a;Realizing the AMD Exascale Heterogeneous Processor Vision时间&#xff1a;2024会议&#xff1a;ISCA研…

【人工智能 | 机器学习】神经网络

文章目录 1. 神经元模型2. 感知机与多层网络3. 误差逆传播算法&#xff08;BP)4. 全局最小与局部极小5. 其他常见神经网络6. 深度学习 1. 神经元模型 神经网络&#xff1a;具有适应性的 简单单元&#xff08;神经元&#xff09;组成的广泛并行互连的网络&#xff0c;其组织能够…