转载请标明出处:http://blackwing.iteye.com/blog/1980219
服务器上hbase用的是hadoop 2.2.0的hdfs,java程序访问hbase时报如下错误:
网上说的修改hadoop-config.sh这种方式应该是旧版本hadoop的解决办法,而且我的问题也不是在windows下遇到的。
最后看到有人说hadoop2.2把auth移到另外目录了,受到启发,在运行java的脚本中,把hadoop-auth-2.2.0.jar添加到路径中,程序就能正常运行了。
服务器上hbase用的是hadoop 2.2.0的hdfs,java程序访问hbase时报如下错误:
java.lang.NoClassDefFoundError:
org/apache/hadoop/util/PlatformName
Caused by: java.lang.ClassNotFoundException:
org.apache.hadoop.util.PlatformName
网上说的修改hadoop-config.sh这种方式应该是旧版本hadoop的解决办法,而且我的问题也不是在windows下遇到的。
最后看到有人说hadoop2.2把auth移到另外目录了,受到启发,在运行java的脚本中,把hadoop-auth-2.2.0.jar添加到路径中,程序就能正常运行了。
本文解决了在使用Hadoop2.2.0版本时,Java程序访问HBase出现的NoClassDefFoundError错误。问题根源在于hadoop2.2版本中auth组件的位置变动。通过在运行脚本中添加hadoop-auth-2.2.0.jar的路径,成功解决了这一问题。
1276

被折叠的 条评论
为什么被折叠?



