HBase oldWALs:它是什么以及如何清理它?

时间:2015-02-25 17:14:29

标签: hadoop hbase

我们的小型hadoop集群中的空间不足,所以我正在检查HDFS上的磁盘使用情况,我发现大部分空间都被/ hbase / oldWALs文件夹占用。

我查过“HBase权威书”和其他书籍,网站,我也在谷歌搜索我的问题,但我没有找到正确的答案......

所以我想知道这个文件夹是什么,有什么用途,以及如何在不破坏所有内容的情况下从这个文件夹中释放空间......

如果它与特定版本有关......我们的群集在cloudera(hbase 0.98.6)的5.3.0-1.cdh5.3.0.p0.30下。

谢谢你的帮助!

1 个答案:

答案 0 :(得分:9)

FYI

我已在hbase用户列表中发布此问题。 以下是EnisSöztutar(hbase提交者)的答案以及我是如何解决的:

  

文件夹会被主人的杂务定期清理。当WAL文件是   不再需要用于恢复目的(当HBase可以保护HBase时)   已刷新WAL文件中的所有数据),它被移动到oldWALs   档案文件夹。日志保持在那里直到所有其他引用   WAL文件完成了。目前有两项服务可以保留   存档目录中的文件。首先是一个TTL过程,它确保了   WAL文件至少保存10分钟。这主要用于调试。您   可以通过设置hbase.master.logcleaner.ttl配置来减少这段时间   主人的财产。它默认为600000.另一个是复制。   如果您具有复制设置,则复制过程将挂起   WAL文件,直到它们被复制。即使你禁用了   复制时,文件仍然被引用。

     

您可以从类(LogCleaner,   TimeToLiveLogCleaner,ReplicationLogCleaner)查看master是否   实际上运行这个家务活,是否有任何例外。

复制确实无法在所有群集上进行,但过去它是启用的,因为我们使用hbase-indexer将数据从HBase复制到Solr,而这种机制是基于复制。

我在hbase shell上运行了这个命令:

hbase(main):005:0> list_peers
PEER_ID CLUSTER_KEY STATE TABLE_CFS
Indexer_profilesIndexer m1.prod.ps,m2.prod.ps,m3.prod.ps:2181:/ngdata/sep/hbase-slave/Indexer_profilesIndexer DISABLED nil
1 row(s) in 0.0070 seconds

hbase(main):006:0> remove_peer 'Indexer_profilesIndexer'
0 row(s) in 0.0050 seconds


hbase(main):007:0> list_peers
PEER_ID CLUSTER_KEY STATE TABLE_CFS
0 row(s) in 0.0020 seconds

最后我删除了hdfs上的oldsWALs文件夹!

该文件夹不再增长!