vlambda博客
学习文章列表

每日一答:HDFS的使用量达到百分之多少的时候需要扩容?


问题:

HDFS存储空间的最佳性能使用阈值大约是多少? hbase重度使用,网上查有说70%有说80%有的90%也没事


回答:

HDFS的使用量主要是系统的可用性问题,很简单一个道理,磁盘满了就不可用了,这是运维管理中系统可用性的一项指标!要是讨论到底磁盘剩百分之多少合适,我认为要计算能给运维工程师留多少时间扩容有关。

建议取一天的平均量,做到128M的倍数这个值,例如平均一台机器一天100g的写入数据量,那么节点设置剩余128g作为一个阀值,加入到磁盘使用率的指标监控中。保证一天前就能得到磁盘快满的警告,为运维争取24小时的扩容时间。

只有做文件目录的搜索,或者数据库随机i/o查找,往往会因为需要扫描的整体数据量过大,导致写入和查询性能下降厉害

对于hdfs它的存模型就是一个个数据块,而且数据块都是顺序写的方式,HBASE的HFile也只是hdfs的一个块存在,128m一个块作为上层MapReduce,Spark的一个计算任务的扫描范围,128m一个块也是hdfs上层数据库hbase table分割的一个物理范围,每个任务的读写,也都是在128m的范围内进行。

另外给出一个大数据运维的小经验,往往框架日志数据占用磁盘的量很大,而且出现暴增的情况有时候还很突然,例如:我遇到过zookeeper日志目录突然出现大量占用磁盘空间,查看才发现是程序异常栈的打印导致的。因此一般要有一个定时器,对Hadoop也好,spark计算服务也好,其他程序也好,其日志目录的历史日志文件要定期(例如一周)进行压缩、迁移或清除。防止磁盘满的原因不是因为数据导致而是日志目录。



如果觉得写得不错,那就点个赞或者“在看”吧,多谢阅读。

文章均为“读字节”原创,转载务必注明来源。


点这里👇关注我

读字节
专注大数据领域。
25篇原创内容
Official Account