文档首页/
MapReduce服务 MRS/
组件操作指南(安卡拉区域)/
使用HBase/
HBase常见问题/
为什么在使用OfflineMetaRepair工具重新构建元数据后,HMaster启动的时候会等待namespace表分配超时,最后启动失败
更新时间:2024-11-29 GMT+08:00
为什么在使用OfflineMetaRepair工具重新构建元数据后,HMaster启动的时候会等待namespace表分配超时,最后启动失败
问题
为什么在使用OfflineMetaRepair工具重新构建元数据后,HMaster启动的时候会等待namespace表分配超时,最后启动失败?
且HMaster将输出下列FATAL消息表示中止:
2017-06-15 15:11:07,582 FATAL [Hostname:16000.activeMasterManager] master.HMaster: Unhandled exception. Starting shutdown. java.io.IOException: Timedout 120000ms waiting for namespace table to be assigned at org.apache.hadoop.hbase.master.TableNamespaceManager.start(TableNamespaceManager.java:98) at org.apache.hadoop.hbase.master.HMaster.initNamespace(HMaster.java:1054) at org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:848) at org.apache.hadoop.hbase.master.HMaster.access$600(HMaster.java:199) at org.apache.hadoop.hbase.master.HMaster$2.run(HMaster.java:1871) at java.lang.Thread.run(Thread.java:745)
回答
当通过OfflineMetaRepair工具重建元数据时,HMaster在启动期间等待所有region server的WAL分割,以避免数据不一致问题。一旦WAL分割完成,HMaster将进行用户region的分配。所以当在集群异常的场景下,WAL分割可能需要很长时间,这取决于多个因素,例如太多的WALs,较慢的I/O,region servers不稳定等。
为确保HMaster能够成功完成所有region server WAL分割,请执行以下步骤:
- 确保集群稳定,不存在其他问题。如有任何问题,请先修复。
- 为“hbase.master.initializationmonitor.timeout”参数配置一个较大的值,默认值为“3600000”毫秒。
- 重启HBase服务。
父主题: HBase常见问题