2017-08-22 3 views
0

Mon HBase code Java pour créer la tableHBase éclipse programme java ne fonctionne pas

public class CreateTable { 

public static void main(String args[]) throws IOException { 
HBaseConfiguration hc = new HBaseConfiguration(new Configuration()); 
HTableDescriptor ht = new HTableDescriptor("cdrs"); 

ht.addFamily(new HColumnDescriptor("number:")); 
ht.addFamily(new HColumnDescriptor("company:")); 
ht.addFamily(new HColumnDescriptor("time:")); 
ht.addFamily(new HColumnDescriptor("location:"));           
HBaseAdmin hba = new HBaseAdmin(hc); 
System.out.println("creating table..."); 
hba.createTable(ht); 
System.out.println("done!"); 
} 

courir le pot du code je reçois: - pot Hadoop HBase-0.0.1-SNAPSHOT.jar apache.hbase. CreateTable

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop /hbase/HBaseConfiguration 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:348) 
    at org.apache.hadoop.util.RunJar.run(RunJar.java:227) 
    at org.apache.hadoop.util.RunJar.main(RunJar.java:148) 
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.HBaseConfiguration 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 4 more 

Je suis nouveau à Hadoop et HBase et problème auquel sont confrontés pour exécuter ce pot de l'aide de ces derniers jours serait apprécié

+0

Possible copie de [Exception dans le fil "principal" java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration] (https: //stackoverflow.com/questions/26364057/exception-in-thread-main-java-lang-noclassdeffounderror-org-apache-hadoop-hba) –

+0

oui mais la même erreur ... –

Répondre

0

Avez-vous inclus la dépendent HBase-commun ency? Si vous utilisez maven, il sera téléchargé en tant que dépendance transitive lorsque vous incluez hbase-client.

Paquet: org.apache.hadoop.hbase

En outre, de nouveaux HBaseConfiguration (... params ...) est maintenant dépréciée et à la place, vous devez utiliser HBaseConfiguration.create();

Configuration config = HBaseConfiguration.create(); 
config.setInt("timeout", timeout); 
config.set("hbase.zookeeper.quorum",zkAddress); 
config.set("hbase.zookeeper.property.clientPort", zkPort); 
config.set("hbase.client.retries.number", nRetries);//check for configs applicable or use hbase-site and core-site configs 
Connection connection = ConnectionFactory.createConnection(config); 
0

i résolu cette question car il y a problème dans la fabrication et le pot de graisse dans les nouveaux pots de version HBase sont dépréciés avec beaucoup dependency..so i également ajouté HBase-client-1.2.6-pot et HBase-commun -1.2.6-jar pour éclipse externe ... ceci a résolu mon problème ..