HBase on Tomcat7安装错误:无法初始化类org.apache.hadoop.security.ShellBasedUnixGroupsMapping

时间:2013-11-24 02:55:47

标签: java tomcat servlets hadoop hbase

我试图通过tomcat servlet访问AWS EMR主节点上的HBase。

我在tomcat servlet get请求上有这段代码:

        Configuration conf = HBaseConfiguration.create();
        conf.setInt("timeout", 120000);
        conf.set("hbase.master", "*" + hbaseHost + ":9000*");
        conf.set(HBASE_CONFIGURATION_ZOOKEEPER_QUORUM, hbaseZookeeperQuorum);
        conf.set(HBASE_CONFIGURATION_ZOOKEEPER_CLIENTPORT, hbaseZookeeperClientPort);
        @SuppressWarnings("resource")
        HTable table = new HTable(conf, "ReTweet");

当我运行时,我得到以下堆栈跟踪:

    java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.security.ShellBasedUnixGroupsMapping
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:270)
org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:861)
org.apache.hadoop.conf.Configuration.getClass(Configuration.java:906)
org.apache.hadoop.conf.Configuration.getClass(Configuration.java:932)
org.apache.hadoop.security.Groups.<init>(Groups.java:48)
org.apache.hadoop.security.Groups.getUserToGroupsMappingService(Groups.java:140)
org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:205)
org.apache.hadoop.security.UserGroupInformation.ensureInitialized(UserGroupInformation.java:184)
org.apache.hadoop.security.UserGroupInformation.isSecurityEnabled(UserGroupInformation.java:236)
org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:477)
org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:463)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:606)
org.apache.hadoop.hbase.util.Methods.call(Methods.java:37)
org.apache.hadoop.hbase.security.User.call(User.java:586)
org.apache.hadoop.hbase.security.User.callStatic(User.java:576)
org.apache.hadoop.hbase.security.User.access$400(User.java:50)
org.apache.hadoop.hbase.security.User$SecureHadoopUser.<init>(User.java:393)
org.apache.hadoop.hbase.security.User$SecureHadoopUser.<init>(User.java:388)
org.apache.hadoop.hbase.security.User.getCurrent(User.java:139)
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionKey.<init>(HConnectionManager.java:412)
org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManager.java:182)
org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:98)
project.Query.doGet(Query.java:58)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

我在WEB-INF / lib文件夹中有以下文件:

hadoop-core.jar
commons-configuration-1.6.jar
commons-logging-api-1.1.1.jar
commons-cli-1.2.jar
hbase.jar
zookeeper-3.4.3.jar
hbase-site.xml
core-site.xml

我不知道如何解决这个问题。这是与我的hbase配置或其他问题相关的问题吗?我是否需要在lib目录中包含其他jar?

1 个答案:

答案 0 :(得分:0)

问题是缺少jar文件。我们有这些文件及其工作:

  

-rw-r - r-- 1 hadoop hadoop 298829 11月25日17:42 commons-configuration-1.6.jar

     

-rw-r - r-- 1 hadoop hadoop 279193 11月25日17:42 commons-lang-2.5.jar

     

-rw-r - r-- 1 hadoop hadoop 60686 11月25日17:42 commons-logging-1.1.1.jar

     

-rw-r - r-- 1 hadoop hadoop 432 11月25日17:42 core-site.xml

     

-rw-r - r-- 1 hadoop hadoop 4203147 11月25日17:42 hadoop-core-1.2.1.jar

     

-rw-r - r-- 1 hadoop hadoop 5286227 11月25日17:42 hbase-0.94.13.jar

     

-rw-r - r-- 1 hadoop hadoop 2581658 11月25日17:42 hbase-0.94.13-tests.jar

     

-rw-r - r-- 1 hadoop hadoop 2250 11月25日17:42 hbase-policy.xml

     

-rw-r - r-- 1 hadoop hadoop 1932年11月25日17:42 hbase-site.xml

     

-rw-r - r-- 1 hadoop hadoop 254 11月25日17:42 hdfs-site.xml

     

-rw-r - r-- 1 hadoop hadoop 481535 11月25日17:42 log4j-1.2.16.jar

     

-rw-r - r-- 1 hadoop hadoop 449818 11月25日17:45 protobuf-java-2.4.0a.jar

     

-rw-r - r-- 1 hadoop hadoop 15345 11月25日17:42 slf4j-api-1.4.3.jar

     

-rw-r - r-- 1 hadoop hadoop 8601 11月25日17:42 slf4j-log4j12-1.4.3.jar

     

-rw-r - r-- 1 hadoop hadoop 779974 11月25日17:42 zookeeper-3.4.5.jar