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