问题解决:java运行HiveQL,报错:java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configuration

本文主要是介绍问题解决:java运行HiveQL,报错:java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configuration,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 问题场景
  • 问题环境
  • 问题原因
  • 解决方案
  • 结果
  • 总结
  • 随缘求赞

问题场景

使用Java编写HiveQL语句,然后通过jdbc的方式远程连接hive集群,并执行。在执行过程中,报错,错误信息如下:

java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configurationat org.apache.hive.jdbc.HiveConnection.createBinaryTransport(HiveConnection.java:393)at org.apache.hive.jdbc.HiveConnection.openTransport(HiveConnection.java:187)at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:163)at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:105)at java.sql.DriverManager.getConnection(DriverManager.java:664)at java.sql.DriverManager.getConnection(DriverManager.java:247)。。。at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.conf.Configurationat java.net.URLClassLoader.findClass(URLClassLoader.java:381)at java.lang.ClassLoader.loadClass(ClassLoader.java:424)at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:93)at java.lang.ClassLoader.loadClass(ClassLoader.java:357)... 11 common frames omitted

问题环境

软件版本
JDK1.8
Hive1.1.0
hive-jdbc1.1.0
Hadoop2.6.5

问题原因

问题提示关键点在于:java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configuration。而NoClassDefFoundError错误的出现,主要是在编译过程中,没有出现问题;在运行过程中,发现缺失类或者有重复类就会导致这个报错。
在这里插入图片描述
我们首先在全局搜索这个类:org.apache.hadoop.conf.Configuration,因为我这里是idea,所以是直接双击shift键,然后输入对应的类路径,结果如下:
在这里插入图片描述
很显然,我们本地是没有org.apache.hadoop.conf.Configuration这个类的。
在这里插入图片描述

解决方案

在这里插入图片描述
既然是类缺失,那么就引入对应的jar包即可。如果大家是使用idea+maven进行开发的话,可以到pom.xml文件,点击alt+insert快捷键,选择第一个Dependency,如下图:
在这里插入图片描述
Search for class点击输入org.apache.hadoop.conf.Configuration,结果如下:
在这里插入图片描述
这里,我们需要根据现网的Hadoop版本,选择对应的依赖包。因为博主这边的环境是Hadoop 2.6.5,所以这里的hadoop-common选择为2.6.5版本。

结果

引入依赖之后,重跑没有报错,顺利执行完毕!!!
在这里插入图片描述

总结

在解决问题的过程中,阐述说明问题发生的原因,并给出解决方案。在学习的过程中中,可以学到很多知识点。即使知识点比较少,但是积少成多,技术就会慢慢精进!!!
在这里插入图片描述

随缘求赞

如果我的文章对大家产生了帮忙,可以在文章底部点个赞或者收藏;
如果有好的讨论,可以留言;
如果想继续查看我以后的文章,可以点击关注
可以扫描以下二维码,关注我的公众号:枫夜之求索阁,查看我最新的分享!
在这里插入图片描述
拜拜

这篇关于问题解决:java运行HiveQL,报错:java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configuration的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1114812

相关文章

一文详解SpringBoot中控制器的动态注册与卸载

《一文详解SpringBoot中控制器的动态注册与卸载》在项目开发中,通过动态注册和卸载控制器功能,可以根据业务场景和项目需要实现功能的动态增加、删除,提高系统的灵活性和可扩展性,下面我们就来看看Sp... 目录项目结构1. 创建 Spring Boot 启动类2. 创建一个测试控制器3. 创建动态控制器注

Java操作Word文档的全面指南

《Java操作Word文档的全面指南》在Java开发中,操作Word文档是常见的业务需求,广泛应用于合同生成、报表输出、通知发布、法律文书生成、病历模板填写等场景,本文将全面介绍Java操作Word文... 目录简介段落页头与页脚页码表格图片批注文本框目录图表简介Word编程最重要的类是org.apach

Spring Boot中WebSocket常用使用方法详解

《SpringBoot中WebSocket常用使用方法详解》本文从WebSocket的基础概念出发,详细介绍了SpringBoot集成WebSocket的步骤,并重点讲解了常用的使用方法,包括简单消... 目录一、WebSocket基础概念1.1 什么是WebSocket1.2 WebSocket与HTTP

SpringBoot+Docker+Graylog 如何让错误自动报警

《SpringBoot+Docker+Graylog如何让错误自动报警》SpringBoot默认使用SLF4J与Logback,支持多日志级别和配置方式,可输出到控制台、文件及远程服务器,集成ELK... 目录01 Spring Boot 默认日志框架解析02 Spring Boot 日志级别详解03 Sp

java中反射Reflection的4个作用详解

《java中反射Reflection的4个作用详解》反射Reflection是Java等编程语言中的一个重要特性,它允许程序在运行时进行自我检查和对内部成员(如字段、方法、类等)的操作,本文将详细介绍... 目录作用1、在运行时判断任意一个对象所属的类作用2、在运行时构造任意一个类的对象作用3、在运行时判断

java如何解压zip压缩包

《java如何解压zip压缩包》:本文主要介绍java如何解压zip压缩包问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java解压zip压缩包实例代码结果如下总结java解压zip压缩包坐在旁边的小伙伴问我怎么用 java 将服务器上的压缩文件解压出来,

SpringBoot中SM2公钥加密、私钥解密的实现示例详解

《SpringBoot中SM2公钥加密、私钥解密的实现示例详解》本文介绍了如何在SpringBoot项目中实现SM2公钥加密和私钥解密的功能,通过使用Hutool库和BouncyCastle依赖,简化... 目录一、前言1、加密信息(示例)2、加密结果(示例)二、实现代码1、yml文件配置2、创建SM2工具

Spring WebFlux 与 WebClient 使用指南及最佳实践

《SpringWebFlux与WebClient使用指南及最佳实践》WebClient是SpringWebFlux模块提供的非阻塞、响应式HTTP客户端,基于ProjectReactor实现,... 目录Spring WebFlux 与 WebClient 使用指南1. WebClient 概述2. 核心依

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

Spring Boot @RestControllerAdvice全局异常处理最佳实践

《SpringBoot@RestControllerAdvice全局异常处理最佳实践》本文详解SpringBoot中通过@RestControllerAdvice实现全局异常处理,强调代码复用、统... 目录前言一、为什么要使用全局异常处理?二、核心注解解析1. @RestControllerAdvice2