报错内容:
ERROR [master/h136:16000:becomeActiveMaster] master.HMaster: Failed to become active master
java.lang.IllegalStateException: The procedure WAL relies on the ability to hsync for proper operation during component failures, but the underlying filesystem does not support doing so. Please check the config value of 'hbase.procedure.store.wal.use.hsync' to set the desired level of robustness and ensure the config value of 'hbase.wal.dir' points to a FileSystem mount that can provide it.
at org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore.rollWriter(WALProcedureStore.java:1092)
at org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore.recoverLease(WALProcedureStore.java:424)
at org.apache.hadoop.hbase.procedure2.ProcedureExecutor.init(ProcedureExecutor.java:576)
at org.apache.hadoop.hbase.master.HMaster.createProcedureExecutor(HMaster.java:1527)
at org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:937)
at org.apache.hadoop.hbase.master.HMaster.startActiveMasterManager(HMaster.java:2111)
at org.apache.hadoop.hbase.master.HMaster.lambda$run$0(HMaster.java:579)
at java.lang.Thread.run(Thread.java:748)
ERROR [master/h136:16000:becomeActiveMaster] master.HMaster: ***** ABORTING master h136,16000,1569574300027: Unhandled exception. Starting shutdown. *****
java.lang.IllegalStateException: The procedure WAL relies on the ability to hsync for proper operation during component failures, but the underlying filesystem does not support doing so. Please check the config value of 'hbase.procedure.store.wal.use.hsync' to set the desired level of robustness and ensure the config value of 'hbase.wal.dir' points to a FileSystem mount that can provide it.
at org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore.rollWriter(WALProcedureStore.java:1092)
at org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore.recoverLease(WALProcedureStore.java:424)
at org.apache.hadoop.hbase.procedure2.ProcedureExecutor.init(ProcedureExecutor.java:576)
at org.apache.hadoop.hbase.master.HMaster.createProcedureExecutor(HMaster.java:1527)
at org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:937)
at org.apache.hadoop.hbase.master.HMaster.startActiveMasterManager(HMaster.java:2111)
at org.apache.hadoop.hbase.master.HMaster.lambda$run$0(HMaster.java:579)
at java.lang.Thread.run(Thread.java:748)
ERROR [main] master.HMasterCommandLine: Master exiting
java.lang.RuntimeException: HMaster Aborted
at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:244)
at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:140)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)
at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:149)
at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:2923)
解决方法:
在配置文件 hbase-site.xml 中添加:
<property> <name>hbase.unsafe.stream.capability.enforce</name> <value>false</value> </property>
本文详细解析了HBase启动过程中遇到的IllegalStateException错误,该错误源于WALProcedureStore的hsync功能在当前文件系统上不可用。通过调整hbase-site.xml配置文件中的hbase.unsafe.stream.capability.enforce参数为false,成功解决了问题,确保了HBase的正常运行。
911

被折叠的 条评论
为什么被折叠?



