2014-01-15 55 views
5

我有一个JBoss应用程序需要与HBase服务器远程对话。在使用简单控制台项目时,HBase客户端可以很好地工作,但是在JBoss服务器中部署时,看起来服务器没有加载类org.apache.hadoop.hdfs.web.resources.UserProvider。 任何人都可以提供解决方法或解决方法吗? ?HBase客户端不能在JBoss AS 7.1下工作

非常感谢您的回复。

错误消息 ERROR [org.apache.catalina.core.ContainerBase [jboss.web] [缺省主机] [/ HFPlatformWeb]。](HTTP - 0.0.0.0-8080-6) StandardWrapper.Throwable:了java.lang.RuntimeException:抛出java.lang.ClassNotFoundException:org.apache.hadoop.hdfs.web.resources.UserProvider从...罐子 公共配置-1.6.jar的

名单 commons-lang-2.5.jar commons-logging-1.1.1.jar guava-11.0.2.jar hadoop-auth-2.0.0-cdh4.4.0.jar hadoop-common-2.0.0-cdh4.4.0.jar hadoop-core-2.0.0-mr1-cdh4.4.0.jar hadoop-hdfs-2.0.0-cdh4.4.0.jar hbase.jar log4j -1.2.17.jar protobuf的-java的2.4.0a.jar SLF4J-API-1.6.1.jar SLF4J-log4j12-1.6.1.jar 动物园管理员-3,4,5- cdh4.4.0.jar

+0

考虑到在Jboss上部署HBase客户端并不是一个好主意,因为目前我面临着一个问题。 HBase使用球衣和JBoss AS 7.1使用休息简单的女巫在部署时发生冲突! – Adelin

回答

0
  • 至少有一个线索应该出现在异常追踪中。奇怪的是你需要hdfs.web.resources。请从一边看一下你的异常堆栈,并从另一边看一下这个类的'JAR',看看这个类'生活'的地方。
  • 你真的有加载hadoop-hdfs?据我记得,它不是'固定'的依赖,而是实现一些机制来处理HDFS方案。
  • 我建议将Cloudera群集升级到Cloudera 5环境。从HBase 0.96.x和Hadoop 2.3.x开始,这非常重要。对我来说,另一个区别是YARN基础设施作为默认的MR处理器。这似乎不能解决您的问题,但如果您现在不做,您将很快得到升级的复杂性。从HBase开始分割子组件,而不是CDH4的hbase.jar。依赖关系看起来真的不同。

警告:最后一点只是基于我自己的经验,如果您的集群尚处于试验阶段,我的建议。