【问题标题】:Hbase exception org/apache/commons/configuration/Configuration not found未找到 Hbase 异常 org/apache/commons/configuration/Configuration
【发布时间】:2015-04-02 13:49:45
【问题描述】:

我是 hbase 的新手,试图让它与 java 一起工作。我尝试了下面的代码它给出了一个异常请帮助。

package com.bee.searchlib.test;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.MasterNotRunningException;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;

public class Test {

    public static void main(String args[]) throws Exception {

        Configuration config = HBaseConfiguration.create();
        HBaseAdmin admin = null;
        try {
            // HBaseAdmin is where all the "DDL" like operations take place in
            // HBase
            admin = new HBaseAdmin(config);
        } catch (MasterNotRunningException e) {
            throw new Exception(
                    "Could not setup HBaseAdmin as no master is running, did you start HBase?...");
        }

        if (!admin.tableExists("testTable")) {
            admin.createTable(new HTableDescriptor("testTable"));

            // disable so we can make changes to it
            admin.disableTable("testTable");

            // lets add 2 columns
            admin.addColumn("testTable", new HColumnDescriptor("firstName"));
            admin.addColumn("testTable", new HColumnDescriptor("lastName"));

            // enable the table for use
            admin.enableTable("testTable");

        }

        // get the table so we can use it in the next set of examples
        HTable table = new HTable(config, "testTable");
    }
}

例外:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/configuration/Configuration
    at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.<init>(DefaultMetricsSystem.java:37)
    at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.<clinit>(DefaultMetricsSystem.java:34)
    at org.apache.hadoop.security.UgiInstrumentation.create(UgiInstrumentation.java:51)
    at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:209)
    at org.apache.hadoop.security.UserGroupInformation.ensureInitialized(UserGroupInformation.java:177)
    at org.apache.hadoop.security.UserGroupInformation.isSecurityEnabled(UserGroupInformation.java:229)
    at org.apache.hadoop.security.KerberosName.<clinit>(KerberosName.java:83)
    at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:202)
    at org.apache.hadoop.security.UserGroupInformation.ensureInitialized(UserGroupInformation.java:177)
    at org.apache.hadoop.security.UserGroupInformation.isSecurityEnabled(UserGroupInformation.java:229)
    at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:428)
    at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:414)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.hadoop.hbase.util.Methods.call(Methods.java:37)
    at org.apache.hadoop.hbase.security.User.call(User.java:586)
    at org.apache.hadoop.hbase.security.User.callStatic(User.java:576)
    at org.apache.hadoop.hbase.security.User.access$400(User.java:50)
    at org.apache.hadoop.hbase.security.User$SecureHadoopUser.<init>(User.java:393)
    at org.apache.hadoop.hbase.security.User$SecureHadoopUser.<init>(User.java:388)
    at org.apache.hadoop.hbase.security.User.getCurrent(User.java:139)
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionKey.<init>(HConnectionManager.java:412)
    at org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManager.java:182)
    at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:98)
    at com.bee.searchlib.test.Test.main(Test.java:20)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.configuration.Configuration
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    ... 27 more

构建路径中的库 hadoop-core-1.0.0.jar hbase-0.92.1.jar log4j-1.2.16.jar commons-logging-1.1.1.jar

【问题讨论】:

    标签: hbase


    【解决方案1】:

    将commons-configuration-x.x.jar 添加到您的构建路径。您可以在$HADOOP_HOME/lib 下找到它。为我工作。

    【讨论】:

      【解决方案2】:

      这是由于 jar 文件。添加commons-logging- version.jar它对我有用

      【讨论】:

        猜你喜欢
        • 2017-11-11
        • 2019-05-19
        • 2013-03-25
        • 2015-11-23
        • 1970-01-01
        • 1970-01-01
        • 2012-04-08
        • 2012-10-20
        • 2011-07-12
        相关资源
        最近更新 更多