微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

hive语句分区归档时报错:java.lang.NoClassDefFoundError: org/apache/hadoop/tools/HadoopArchives

一、报错信息:

在我执行分区归档时命令:alter table hive_text archive partition (folder='docs');

报错如下:

查看日志:cat /tem/hive/root/hive.log(这是我的日志路径),报错日志如下

认日志路径:/tmp/<user.name>文件夹的hive.log文件中,全路径就是/tmp/当前用户名(root)/hive.log。

2019-08-30 04:15:34,496 ERROR [main]: exec.DDLTask (DDLTask.java:Failed(520)) - java.lang.NoClassDefFoundError: org/apache/hadoop/tools/HadoopArchives
	at org.apache.hadoop.hive.ql.exec.DDLTask.archive(DDLTask.java:1350)
	at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:360)
	at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:160)
	at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:88)
	at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1676)
	at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1435)
	at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1218)
	at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1082)
	at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1072)
	at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:213)
	at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:165)
	at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:376)
	at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:736)
	at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:681)
	at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:621)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
	at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
Caused by: java.lang.classNotFoundException: org.apache.hadoop.tools.HadoopArchives
	at java.net.urlclassloader.findClass(urlclassloader.java:381)
	at java.lang.classLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
	at java.lang.classLoader.loadClass(ClassLoader.java:357)
	... 21 more

2019-08-30 04:15:34,497 ERROR [main]: ql.Driver (SessionState.java:printError(960)) - Failed: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org/apache/hadoop/tools/HadoopArchives

二、解决方法

将/usr/local/hadoop-2.7.1/share/hadoop/tools/lib(你自己hadoop的目录,此目录我的hadoop安装目录)下的

hadoop-archives-2.7.6.jar包放入  /usr/local/hive122/lib(根据自己的安装目录)目录下

扩展:其实诸如此类问题,大部分都是应为少了jar包,去相应的目录找到所需要的jar包放到对应的目录下即可解决问题。

再次执行成功!!!!

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐