概述
本地测试写文件到HDFS正常,将jar部署到服务器上进行操作时出现异常。
整个过程出现以下一些异常情况
1.no scheme:hdfs
2.java.lang.NoClassDefFoundError: org/apache/commons/cli/parseException
3.java.lang.NoClassDefFoundError: org/htrace/Trace
主要原因是缺少相关依赖以及依赖的版本不匹配
解决方法:
1.缺少hadoop-hdfs-2.6.5.jar
2.缺少commons-cli-1.3.1.jar
3.首先需要检查lib包中是否包含如下文件.
commons-configuration-1.6.jar、
hadoop-auth-2.6.5.jar、
hadoop-common-2.6.5.jar、
hadoop-hdfs-2.6.5.jar、
commons-io-2.4.jar、
commons-cli-1.3.1.jar、
htrace-core-3.1.0-incubating.jar
如果存在还报错可能为版本问题htrace-core-3.1.0-incubating.jar
CDH中的classpath中引入的是/opt/cloudera/parcels/CDH/jars/htrace-core-3.0.4.jar,而这个版本的时候,htrace还是org.htrace,而3.1.0的时候已经贡献给Apache了,改叫org.apache.htrace了。
所以需要下载htrace-core-3.0.4.jar
同时要去掉相同依赖的其他版本,以免造成其他问题。
最后
以上就是仁爱路人为你收集整理的写文件到HDFS异常java.lang.NoClassDefFoundError: org/htrace/Trace的全部内容,希望文章能够帮你解决写文件到HDFS异常java.lang.NoClassDefFoundError: org/htrace/Trace所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复