出现问题原因:
当/hbase/WALs中的HLog文件被持久化到存储文件中,且这些Hlog日志文件不再被需要时,就会被转移到{hbase.rootdir}/oldWALs目录下,该目录由HMaster上的定时任务负责定期清理。
HMaster在做定期清理的时候首先会检查zookeeper中/hbase/replication/rs下是否有对应的复制文件,如果有就放弃清理,如果没有就清理对应的hlog。在手动清理oldWALs目录数据的同时,如果没有删除对应的znode数据,就会导致HMaster不会自动清理oldWALs。
解决方案:
1、进入Zookeeper目录下删除有关节点
2、确保hbase-site.xml中的有添加属性hbase.replication=false和属性hbase.backup.enable=false,如果是true就改成false即可,然后重启整个hbase集群。
<property>
<name>hbase.replication</name>
<value>false</value>
</property>
<property>
<name>hbase.backup.enable</name>
<value>false</value>
</property>
3、接下来可以看到oldWALs目录下占用空间已经被逐渐清理为