FAQ
While running code using eclipse on CM 4.1

I got the following error:

Exception in thread "main" java.lang.NoClassDefFoundError:
com/google/common/collect/Maps
at
org.apache.hadoop.metrics2.lib.MetricsRegistry.(MetricsSystemImpl.java:87)
at
org.apache.hadoop.metrics2.impl.MetricsSystemImpl.(DefaultMetricsSystem.java:38)
at
org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.(UserGroupInformation.java:97)
at
org.apache.hadoop.security.UserGroupInformation.(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.(User.java:388)
at org.apache.hadoop.hbase.security.User.getCurrent(User.java:139)
at
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionKey.(HConnectionManager.java:182)
at org.apache.hadoop.hbase.client.HBaseAdmin.(AdminOperations.java:43)
at Server.ClientTest.main(ClientTest.java:102)
Caused by: java.lang.ClassNotFoundException: com.google.common.collect.Maps
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)
... 23 more

Here is part of code
private String hbaseZookeeperQuorum = "master1.medcloud.com";
HTablePool tablepool;
public void createTable() throws IOException
{
//Create Configuration
conf = HBaseConfiguration.create();

//If Eclipse on a diff machine
conf.set("hbase.zookeeper.quorum", hbaseZookeeperQuorum);
conf.set("hbase.zookeeper.property.clientPort", "2181");
tablepool = new HTablePool(conf, Integer.MAX_VALUE);

//Instantiate an HbaseAdmin Instance
admin = new HBaseAdmin(conf);
//Instantiate a HTableDescriptor
HTableDescriptor patient = new HTableDescriptor(TABLE_NAME);
//Instantiate a HColumnDescriptor
HColumnDescriptor coldef = new HColumnDescriptor(CF);
//Add Family
patient.addFamily(coldef);
//Create Table
admin.createTable(patient);
//Check if available
boolean avail = admin.isTableAvailable(TABLE_NAME);
System.out.println("Table available: " + avail);
}

Search Discussions

  • Patrick Ethier at Nov 29, 2012 at 2:23 am
    You need to add the Guava jar into your classpath (Via configure buildpath
    if you right-click on your project).

    Could I suggest converting your project to Maven and then adding hbase as a
    dependency, it's a lot simpler that way. Eclipse M2E makes converting your
    project fairly easy and then you just add hbase as a dependency and Maven
    adds all the other jars for you automatically (if not, you'll be at this
    for a while looking for all the jars that include whatever class is
    referenced in the NoClassFoundException above).

    http://eclipse.org/m2e/

    If you're using the latest, it's in the update site for the Eclipse
    distribution and easy enough to install.

    Pat



    On Wed, Nov 28, 2012 at 6:00 PM, Dalia Hassan wrote:

    While running code using eclipse on CM 4.1

    I got the following error:

    Exception in thread "main" java.lang.NoClassDefFoundError:
    com/google/common/collect/Maps
    at
    org.apache.hadoop.metrics2.lib.MetricsRegistry.<init>(MetricsRegistry.java:42)
    at
    org.apache.hadoop.metrics2.impl.MetricsSystemImpl.<init>(MetricsSystemImpl.java:87)
    at
    org.apache.hadoop.metrics2.impl.MetricsSystemImpl.<init>(MetricsSystemImpl.java:133)
    at
    org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.<init>(DefaultMetricsSystem.java:38)
    at
    org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.<clinit>(DefaultMetricsSystem.java:36)
    at
    org.apache.hadoop.security.UserGroupInformation$UgiMetrics.create(UserGroupInformation.java:97)
    at
    org.apache.hadoop.security.UserGroupInformation.<clinit>(UserGroupInformation.java:190)
    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:100)
    at Server.AdminOperations.createTable(AdminOperations.java:43)
    at Server.ClientTest.main(ClientTest.java:102)
    Caused by: java.lang.ClassNotFoundException: com.google.common.collect.Maps
    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)
    ... 23 more

    Here is part of code
    private String hbaseZookeeperQuorum = "master1.medcloud.com";
    HTablePool tablepool;
    public void createTable() throws IOException
    {
    //Create Configuration
    conf = HBaseConfiguration.create();

    //If Eclipse on a diff machine
    conf.set("hbase.zookeeper.quorum", hbaseZookeeperQuorum);
    conf.set("hbase.zookeeper.property.clientPort", "2181");
    tablepool = new HTablePool(conf, Integer.MAX_VALUE);

    //Instantiate an HbaseAdmin Instance
    admin = new HBaseAdmin(conf);
    //Instantiate a HTableDescriptor
    HTableDescriptor patient = new HTableDescriptor(TABLE_NAME);
    //Instantiate a HColumnDescriptor
    HColumnDescriptor coldef = new HColumnDescriptor(CF);
    //Add Family
    patient.addFamily(coldef);
    //Create Table
    admin.createTable(patient);
    //Check if available
    boolean avail = admin.isTableAvailable(TABLE_NAME);
    System.out.println("Table available: " + avail);
    }

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupscm-users @
categorieshadoop
postedNov 28, '12 at 11:07p
activeNov 29, '12 at 2:23a
posts2
users2
websitecloudera.com
irc#hadoop

2 users in discussion

Dalia Hassan: 1 post Patrick Ethier: 1 post

People

Translate

site design / logo © 2023 Grokbase