为什么zookeeper会导致磁盘IO高
由于早期的storm版本心跳信息严重依赖zookeeper,心跳风暴会导致zookeeper的事务日志频繁的写磁盘,带来的问题首当其冲的是磁盘IO会爆掉。
优化思路
将zookeeper事务的日志放入内存中,降低对磁盘的依赖,受内存空间容量限制,需要控制事务日志大小。
这个方案的风险就是一旦机房断电会导致zookeeper中的部分数据丢失,所以特别重要的数据不建议这样做,SSD会是个不错的选择。
方案步骤
- 事务日志指向内存文件系统dataLogDir=/dev/shm
- 关闭自动事务日志的管理#

本文探讨了为何Zookeeper的磁盘IO会升高,特别是在storm早期版本中,心跳风暴导致频繁写磁盘。提出将事务日志存储到内存以降低磁盘依赖,但可能面临数据丢失风险。优化方案包括设置dataLogDir=/dev/shm,关闭自动事务日志管理,以及定期清理事务日志,最终实现磁盘IO显著下降。
最低0.47元/天 解锁文章
4410





