找不到Hbase例外org / apache / commons / configuration / Configuration [英] Hbase exception org/apache/commons/configuration/Configuration not found
本文介绍了找不到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屋!
查看全文