hbase 启动 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.
问题场景
今天刚装完hbase,启动后,主节点的 HMaster 直接挂了,但是 backup-masters 启动了,查看了 主节点的 master 的日志如下:
2022-05-09 15:51:16,355 INFO [Thread-14] wal.ProcedureWALFile: Archiving hdfs://hadoop201:8020/hbase/MasterProcWALs/pv2-00000000000000000004.log to hdfs://hadoop201:8020/hbase/oldWALs/pv2-00000000000000000004.log 2022-05-09 15:51:16,423 ERROR [Thread-14] 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:1083) at org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore.recoverLease(WALProcedureStore.java:421) at org.apache.hadoop.hbase.procedure2.ProcedureExecutor.init(ProcedureExecutor.java:611) at org.apache.hadoop.hbase.master.HMaster.createProcedureExecutor(HMaster.java:1407) at org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:853) at org.apache.hadoop.hbase.master.HMaster.startActiveMasterManager(HMaster.java:2241) at org.apache.hadoop.hbase.master.HMaster.lambda$run$0(HMaster.java:567) at java.lang.Thread.run(Thread.java:748) 2022-05-09 15:51:16,429 ERROR [Thread-14] master.HMaster: ***** ABORTING master hadoop201,16000,1652082659778: 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:1083) at org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore.recoverLease(WALProcedureStore.java:421) at org.apache.hadoop.hbase.procedure2.ProcedureExecutor.init(ProcedureExecutor.java:611) at org.apache.hadoop.hbase.master.HMaster.createProcedureExecutor(HMaster.java:1407) at org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:853) at org.apache.hadoop.hbase.master.HMaster.startActiveMasterManager(HMaster.java:2241) at org.apache.hadoop.hbase.master.HMaster.lambda$run$0(HMaster.java:567) at java.lang.Thread.run(Thread.java:748)
解决方案
在 hbase-site.xml 增加一个配置项
如下
<property> <name>hbase.unsafe.stream.capability.enforce</name> <value>false</value> </property>
再次启动已经正常了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
2020-05-09 Redis 应用--延迟消息队列