在向表中添加数据的时候,获取表以后,我这是创建Put对象并指定Rowkey的时候,指定的Rowkey和表中的对应列族的名称不同,出了这么一个问题:

19/12/18 08:59:24 WARN client.AsyncProcess: #2, table=new, attempt=1/31 failed=1ops, last exception: org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException: org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException: Column family f1 does not exist in region new,1575003479100.66fb9d23495f860f8d620de114ae91bd. in table ‘new’, {NAME => ‘n1’, BLOOMFILTER => ‘ROW’, VERSIONS => ‘1’, IN_MEMORY => ‘false’, KEEP_DELETED_CELLS => ‘FALSE’, DATA_BLOCK_ENCODING => ‘NONE’, TTL => ‘FOREVER’, COMPRESSION => ‘NONE’, MIN_VERSIONS => ‘0’, BLOCKCACHE => ‘true’, BLOCKSIZE => ‘65536’, REPLICATION_SCOPE => ‘0’}, {NAME => ‘n2’, BLOOMFILTER => ‘ROW’, VERSIONS => ‘1’, IN_MEMORY => ‘false’, KEEP_DELETED_CELLS => ‘FALSE’, DATA_BLOCK_ENCODING => ‘NONE’, TTL => ‘FOREVER’, COMPRESSION => ‘NONE’, MIN_VERSIONS => ‘0’, BLOCKCACHE => ‘true’, BLOCKSIZE => ‘65536’, REPLICATION_SCOPE => ‘0’}
at org.apache.hadoop.hbase.regionserver.RSRpcServices.doBatchOp(RSRpcServices.java:760)
at org.apache.hadoop.hbase.regionserver.RSRpcServices.doNonAtomicRegionMutation(RSRpcServices.java:715)
at org.apache.hadoop.hbase.regionserver.RSRpcServices.multi(RSRpcServices.java:2129)
at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService2.callBlockingMethod(ClientProtos.java:33656)atorg.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2191)atorg.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112)atorg.apache.hadoop.hbase.ipc.RpcExecutor2.callBlockingMethod(ClientProtos.java:33656) at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2191) at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112) at org.apache.hadoop.hbase.ipc.RpcExecutorHandler.run(RpcExecutor.java:183)
at org.apache.hadoop.hbase.ipc.RpcExecutorHandler.run(RpcExecutor.java:163)onnode01,60020,1575001682972,trackingstartedWedDec1808:59:24CST2019;notretrying1finalfailureExceptioninthread"main"org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException:Failed1action:org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException:Columnfamilyf1doesnotexistinregionnew,,1575003479100.66fb9d23495f860f8d620de114ae91bd.intablenew,NAME=>n1,BLOOMFILTER=>ROW,VERSIONS=>1,INMEMORY=>false,KEEPDELETEDCELLS=>FALSE,DATABLOCKENCODING=>NONE,TTL=>FOREVER,COMPRESSION=>NONE,MINVERSIONS=>0,BLOCKCACHE=>true,BLOCKSIZE=>65536,REPLICATIONSCOPE=>0,NAME=>n2,BLOOMFILTER=>ROW,VERSIONS=>1,INMEMORY=>false,KEEPDELETEDCELLS=>FALSE,DATABLOCKENCODING=>NONE,TTL=>FOREVER,COMPRESSION=>NONE,MINVERSIONS=>0,BLOCKCACHE=>true,BLOCKSIZE=>65536,REPLICATIONSCOPE=>0atorg.apache.hadoop.hbase.regionserver.RSRpcServices.doBatchOp(RSRpcServices.java:760)atorg.apache.hadoop.hbase.regionserver.RSRpcServices.doNonAtomicRegionMutation(RSRpcServices.java:715)atorg.apache.hadoop.hbase.regionserver.RSRpcServices.multi(RSRpcServices.java:2129)atorg.apache.hadoop.hbase.protobuf.generated.ClientProtosHandler.run(RpcExecutor.java:163) on node01,60020,1575001682972, tracking started Wed Dec 18 08:59:24 CST 2019; not retrying 1 - final failure Exception in thread "main" org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException: Failed 1 action: org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException: Column family f1 does not exist in region new,,1575003479100.66fb9d23495f860f8d620de114ae91bd. in table 'new', {NAME => 'n1', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}, {NAME => 'n2', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'} at org.apache.hadoop.hbase.regionserver.RSRpcServices.doBatchOp(RSRpcServices.java:760) at org.apache.hadoop.hbase.regionserver.RSRpcServices.doNonAtomicRegionMutation(RSRpcServices.java:715) at org.apache.hadoop.hbase.regionserver.RSRpcServices.multi(RSRpcServices.java:2129) at org.apache.hadoop.hbase.protobuf.generated.ClientProtosClientService2.callBlockingMethod(ClientProtos.java:33656)atorg.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2191)atorg.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112)atorg.apache.hadoop.hbase.ipc.RpcExecutor2.callBlockingMethod(ClientProtos.java:33656) at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2191) at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112) at org.apache.hadoop.hbase.ipc.RpcExecutorHandler.run(RpcExecutor.java:183)
at org.apache.hadoop.hbase.ipc.RpcExecutorHandler.run(RpcExecutor.java:163):1time,atorg.apache.hadoop.hbase.client.AsyncProcessHandler.run(RpcExecutor.java:163) : 1 time, at org.apache.hadoop.hbase.client.AsyncProcessBatchErrors.makeException(AsyncProcess.java:258)
at org.apache.hadoop.hbase.client.AsyncProcess$BatchErrors.access$2000(AsyncProcess.java:238)
at org.apache.hadoop.hbase.client.AsyncProcess.waitForAllPreviousOpsAndReset(AsyncProcess.java:1810)
at org.apache.hadoop.hbase.client.BufferedMutatorImpl.backgroundFlushCommits(BufferedMutatorImpl.java:240)
at org.apache.hadoop.hbase.client.BufferedMutatorImpl.flush(BufferedMutatorImpl.java:190)
at org.apache.hadoop.hbase.client.HTable.flushCommits(HTable.java:1500)
at org.apache.hadoop.hbase.client.HTable.put(HTable.java:1082)
at com.czxy02.DemoAPI01.addData(DemoAPI01.java:60)
at com.czxy02.DemoAPI01.main(DemoAPI01.java:68)

导致它出现问题的原因:
关于HBase的JavaAPI的一点细节的问题
原来创建表指定列族的时候是这样:
关于HBase的JavaAPI的一点细节的问题
关于HBase的JavaAPI的一点细节的问题
处理办法:
就把列族的名换了,就好了
由于我粗心所导致的问题,所以预防大家别犯我这样的问题

相关文章: