我已經安裝了hadoop 2.5.2和hbase 1.0.1.1(它們是相互兼容的)。但在hadoop代碼中,我試圖在hbase表中添加columnfamily。NoSuchMethodError HTableDescriptor.addFamily
我的代碼是
Configuration hbaseConfiguration = HBaseConfiguration.create();
Job hbaseImportJob = new Job(hbaseConfiguration, "FileToHBase");
HBaseAdmin hbaseAdmin = new HBaseAdmin(hbaseConfiguration);
if (!hbaseAdmin.tableExists(Config_values.tableName)) {
TableName tableName1 = TableName.valueOf("tableName");
HTableDescriptor hTableDescriptor = new HTableDescriptor(tableName1);
HColumnDescriptor hColumnDescriptor1 = new HColumnDescriptor("columnFamily1");
hTableDescriptor.addFamily(hColumnDescriptor1);
hbaseAdmin.createTable(hTableDescriptor);
}
我收到此錯誤
java.lang.NoSuchMethodError: Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.hbase.HTableDescriptor.addFamily(Lorg/apache/hadoop/hbase/HColumnDescriptor;)V at com.atm_ex.atm_ex.Profiles.profiles(Profiles.java:177) at com.atm_ex.atm_ex.App.main(App.java:28) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.hadoop.util.RunJar.main(RunJar.java:212)
我正在使用HADOOP_CLASSPATH ='$ {} HBASE_HOME /斌/ HBase的classpath' $ HADOOP_HOME /斌/ hadoop的jar目標/ PROG-1.0-SNAPSHOT.jar我的Hadoop代碼 –