找不到Hbase例外org / apache / commons / configuration / Configuration [英] Hbase exception org/apache/commons/configuration/Configuration not found

查看:1430
本文介绍了找不到Hbase例外org / apache / commons / configuration / Configuration的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试使用java来运行hbase。

  package com.bee.searchlib.test; 

导入org.apache.hadoop.conf.Configuration;
导入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;
$ b $ public class Test {

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

Configuration config = HBaseConfiguration.create();
HBaseAdmin admin = null;
尝试{
// HBaseAdmin是所有DDL类似操作发生在
// HBase
admin = new HBaseAdmin(config);
} catch(MasterNotRunningException e){
抛出新的异常(
无法设置HBaseAdmin,因为没有master正在运行,您是否启动HBase?...);
}

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

//禁用,因此我们可以对其进行更改
admin.disableTable(testTable);

//让我们添加2列
admin.addColumn(testTable,new HColumnDescriptor(firstName));
admin.addColumn(testTable,new HColumnDescriptor(lastName));

//启用表使用
admin.enableTable(testTable);



//获取表格以便我们可以在下一组示例中使用
HTable table = new HTable(config,testTable);


$ / code $ / pre
$ b $ p



 线程main中的异常java.lang.NoClassDefFoundError:org / apache / commons / configuration /配置
at org.apache.hadoop.metrics2.lib .DefaultMetricsSystem<初始化>(DefaultMetricsSystem.java:37)在org.apache.hadoop.metrics2.lib.DefaultMetricsSystem
将。clinit>(DefaultMetricsSystem.java:34)
。在org.apache .hadoop.security.UgiInstrumentation.create(UgiInstrumentation.java:51)
在org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:209)
在org.apache.hadoop.security .UserGroupInformation.ensureInitialized(UserGroupInformation.java:177)
。在org.apache.hadoop.security.UserGroupInformation.isSecurityEnabled(UserGroupInformation.java:229)
。在org.apache.hadoop.security.KerberosName。< ; clinit>(KerberosName.java:83)
at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInforma tion.java:202)在org.apache.hadoop.security.UserGroupInformation.ensureInitialized(UserGroupInformation.java:177

在org.apache.hadoop.security.UserGroupInformation.isSecurityEnabled(UserGroupInformation.java:在org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:428 229)

在org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:414)
。在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25)
在java.lang.reflect.Method.invoke(Method.java:597)
在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)$ b $ org.apa che.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)
导致:java.lang.ClassNotFoundException:org.apache.commons.configuration.Configuration $ b $在java.net.URLClassLoader $ 1.run(URLClassLoader.java: 202)$ java.util.AccessController.doPrivileged(Native方法)
在java.net.URLClassLoader.findClass($ URBlassLoader.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

解决方案

在构建路径中添加 commons-configuration-xxjar 您可以在 $ HADOOP_HOME / lib 下找到它。为我工作。


I am new to hbase trying to make it work with java . i tried the following code it gives an exception please help.

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");
    }
}

excepion:

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

Libraries in build path hadoop-core-1.0.0.jar hbase-0.92.1.jar log4j-1.2.16.jar commons-logging-1.1.1.jar

解决方案

Add the commons-configuration-x.x.jar to your build path. You can find it under $HADOOP_HOME/lib. Worked for me.

这篇关于找不到Hbase例外org / apache / commons / configuration / Configuration的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆