繁体   English   中英

HBase 拆分命令引发不可拆分错误

[英]HBase split command throws NOT splittable error

我试图强制拆分一个区域并收到以下错误。

ERROR: org.apache.hadoop.hbase.DoNotRetryIOException: 3dd9ec2b32c98131b39fbfa8266881f9 NOT splittable                                                                                       
        at org.apache.hadoop.hbase.master.assignment.SplitTableRegionProcedure.checkSplittable(SplitTableRegionProcedure.java:193)                                                          
        at org.apache.hadoop.hbase.master.assignment.SplitTableRegionProcedure.<init>(SplitTableRegionProcedure.java:115)                                                                   
        at org.apache.hadoop.hbase.master.assignment.AssignmentManager.createSplitProcedure(AssignmentManager.java:750)                                                                     
        at org.apache.hadoop.hbase.master.HMaster$3.run(HMaster.java:1859)                                                                                                                  
        at org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil.submitProcedure(MasterProcedureUtil.java:134)                                                                       
        at org.apache.hadoop.hbase.master.HMaster.splitRegion(HMaster.java:1851)                                                                                                            
        at org.apache.hadoop.hbase.master.MasterRpcServices.splitRegion(MasterRpcServices.java:808)                                                                                         
        at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)                                                             
        at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:413)                                                                                                                   
        at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:130)                                                                                                                  
        at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:324)                                                                                                        
        at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:304)

有人对此错误有见解吗?

我正在使用 Cloudera 6.1.1 和 HBase 2.1.0。

这是您尝试拆分时返回的错误:

  • meta表区域
  • CLOSED/CLOSING state 中的区域
  • 区域有对其他区域的引用(区域是最近分裂其他区域的结果)

我想,你面临最后一个案例。
当 HBase 拆分区域时,它会创建 2 个新区域(子)并将其链接到当前正在拆分的区域(父)。 创建子区域或多或少需要一些时间的“即时”操作。 这是由于包含父区域( 存储文件)数据的文件在拆分期间未触及:HBase 延迟数据文件的实际拆分直到压缩。 在压缩之前,每个子区域只包含对父区域数据的特殊引用 在此参考存在之前,区域被视为“不可拆分”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM