写文件到HDFS异常java.lang.NoClassDefFoundError: org/htrace/Trace

本地测试写文件到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

同时要去掉相同依赖的其他版本,以免造成其他问题。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值