分享

hbase 引入jar包问题

SFDSFAFAS 发表于 2015-9-6 12:31:57 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 2 45411
我引入了htrace-core-3.0.4.jar  还报以下错误 ,请问什么原因

引入jar包如下:
Manifest-Version: 1.0
Class-Path: lib/hadoop-common-2.6.0-cdh5.4.4.jar lib/hbase-client-1.0.0-cdh5.4.4.jar lib/hbase-common-1.0.0-cdh5.4.4.jar lib/commons-collections-3.2.1.jar lib/commons-configuration-1.6.jar lib/commons-lang-2.6.jar lib/commons-logging-1.2.jar lib/commons-codec-1.9.jar lib/guava-12.0.1.jar lib/protobuf-java-2.5.0.jar lib/zookeeper.jar lib/hadoop-auth-2.6.0-cdh5.4.4.jar lib/slf4j-log4j12.jar lib/slf4j-api-1.7.5.jar lib/log4j-1.2.17.jar lib/hbase-protocol-1.0.0-cdh5.4.4.jar lib/htrace-core-3.0.4.jar
Main-Class: hbase.Hbase

java 代码如下:
static Configuration conf = null;  
    static {  
        System.out.println("-----------ssss----------------");
        conf = HBaseConfiguration.create();
        conf.set("hbase.zookeeper.property.clientPort", "2181");
        conf.set("hbase.zookeeper.quorum","n04,n03,n05");
        //conf.set("hbase.rootdir", "hdfs://hadoop-ha:9000/hbase");
    }  

    /*  
     * 创建表  
     *   
     * @tableName 表名  
     *   
     * @family 列族列表  
     */  
    public static void creatTable(String tableName, String[] family)  
            throws Exception {  
        HBaseAdmin admin = new HBaseAdmin(conf);  
        HTableDescriptor desc = new HTableDescriptor(tableName);  
        for (int i = 0; i < family.length; i++) {  
            desc.addFamily(new HColumnDescriptor(family[i]));  
        }  
        if (admin.tableExists(tableName)) {  
            System.out.println("table Exists!");  
            System.exit(0);  
        } else {  
            admin.createTable(desc);  
            System.out.println("create table Success!");  
        }  
    }  


Exception in thread "main" java.io.IOException: java.lang.reflect.InvocationTargetException
        at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:240)
        at org.apache.hadoop.hbase.client.ConnectionManager.createConnection(ConnectionManager.java:414)
        at org.apache.hadoop.hbase.client.ConnectionManager.createConnection(ConnectionManager.java:407)
        at org.apache.hadoop.hbase.client.ConnectionManager.getConnectionInternal(ConnectionManager.java:285)
        at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:207)
        at hbase.Hbase.creatTable(Hbase.java:41)
        at hbase.Hbase.main(Hbase.java:318)
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:238)
        ... 6 more
Caused by: java.lang.NoClassDefFoundError: org/apache/htrace/Trace
        at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.exists(RecoverableZooKeeper.java:218)
        at org.apache.hadoop.hbase.zookeeper.ZKUtil.checkExists(ZKUtil.java:481)
        at org.apache.hadoop.hbase.zookeeper.ZKClusterId.readClusterIdZNode(ZKClusterId.java:65)
        at org.apache.hadoop.hbase.client.ZooKeeperRegistry.getClusterId(ZooKeeperRegistry.java:86)
        at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.retrieveClusterId(ConnectionManager.java:850)
        at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.<init>(ConnectionManager.java:635)
        ... 11 more
Caused by: java.lang.ClassNotFoundException: org.apache.htrace.Trace
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

已有(2)人评论

跳转到指定楼层
arsenduan 发表于 2015-9-6 14:51:48
1.首先看看是不是位置不正确,最好说下怎么添加的。
2.看看是不是版本不认识
回复

使用道具 举报

Aimiyoo 发表于 2015-9-8 10:56:48
类没有找到,一般是版本问题或者导入jar包时候出的问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条