由于早期的storm版本心跳信息严重依赖zookeeper,心跳风暴会导致zookeeper的事务日志频繁的写磁盘,带来的问题首当其冲的是磁盘IO会爆掉。
优化思路
将zookeeper事务的日志放入内存中,降低对磁盘的依赖,受内存空间容量限制,需要控制事务日志大小。
这个方案的风险就是一旦机房断电会导致zookeeper中的部分数据丢失,所以特别重要的数据不建议这样做,SSD会是个不错的选择。
方案步骤
-
事务日志指向内存文件系统dataLogDir=/dev/shm
-
关闭自动事务日志的管理#autopurge.purgeInterval=1
- 启用脚本删除历史事务日志以便控制内存的使用
清理事务日志
#!/bin/bash
source /etc/profile
#snapshot file dir
dataDir=/opt/zookeeperdata/version-2
#tran log dir
dataLogDir=/dev/shm/version-2
#leave transaction files
leaveTran=10
#leave snapshot files
leaveSnap=10000
echo ""
echo ""
echo "before purge memory:"
free -m
ls -t $dataLogDir/log.* | tail -n +$leaveTran | xargs rm -f
ls -t $dataDir/snapshot.* | tail -n +$leaveSnap | xargs rm -f
echo "after purge memory:"
free -m
zookeeper配置
dataDir=/opt/zookeeperdata
dataLogDir=/dev/shm
#自动清理时保存在datadir里的数据快照数。最小值3
#autopurge.snapRetainCount=3
#自动清理任务的间隔小时数
#autopurge.purgeInterval=1
# 每当10000条事务日志写入时,创建snapshot文件
snapCount=10000
磁盘IO低至可以忽略
- 大小: 13.5 KB
分享到:
相关推荐
今天小编就为大家分享一篇关于Dubbo无法访问远程Zookeeper已注册服务的问题解决方案,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
zookeeper实现redis的高可用,包括监控心跳和切换,以及恢复等
基于Zookeeper+MHA的mysql高可用架构设计,基于Zookeeper+MHA的mysql高可用架构设计。
基于Zookeeper搭建Hadoop高可用集群
基于Zookeeper搭建Kafka高可用集群
ZooKeeper集群的安装、配置、高可用测试
apache-zookeeper-3.7.1 apache-zookeeper-3.7.1 apache-zookeeper-3.7.1 apache-zookeeper-3.7.1 apache-zookeeper-3.7.1 apache-zookeeper-3.7.1 apache-zookeeper-3.7.1 apache-zookeeper-3.7.1 apache-zookeeper...
《Paxos到Zookeeper:分布式一致性原理与实践》从分布式一致性的理论出发,向读者简要介绍几种典型的分布式一致性协议,以及解决分布式一致性问题的思路,其中重点讲解了Paxos和ZAB协议。同时,本书深入介绍了分布式...
基于SpringBoot+Zookeeper+Dubbo打造分布式高并发商品秒杀系统 基于SpringBoot+Zookeeper+Dubbo打造分布式高并发商品秒杀系统 基于SpringBoot+Zookeeper+Dubbo打造分布式高并发商品秒杀系统 基于SpringBoot+...
#Zookeeper的日志可以用LogFormatter查看 ##命令方式如下 java -classpath .:slf4j-api-1.7.2.jar:zookeeper-3.4.6.jar org.apache.zookeeper.server.LogFormatter /var/lib/zookeeper/version-2/log.1 ##window...
SpringBoot+Zookeeper+Dubbo打造分布式高并发商品秒杀系统.zipSpringBoot+Zookeeper+Dubbo打造分布式高并发商品秒杀系统.zipSpringBoot+Zookeeper+Dubbo打造分布式高并发商品秒杀系统.zipSpringBoot+Zookeeper+Dubbo...
Zookeeper侦查器(ZooInspector)是一个用于查看和管理Zookeeper集群的可视化工具。它提供了一个用户友好的界面,让用户可以通过图形化界面来查看Zookeeper节点的层次结构、数据内容和元数据信息,从而方便地监控和...
zookeeper3.4.14安装包和配置文件zoo.cfg, 安装流程请查看我的博客。
ZooKeeper 未授权访问漏洞处理方法和重设setAcl,需要设置超级管理密码后,方可修改
提供分布式数据一致性解决方案,分布式应用程序可以实现数据发布订阅、负载均衡、命名服务、集群管理分布式锁、分布式队列等功能。在大数据、分布式系统或架构中占有很重要的协调位置。 Dubbo是一款高性能、轻量级的...
zookeeper可视化工具
zookeeper linux 搭建流程,zookeeper linux 搭建流程zookeeper linux 搭建流程zookeeper linux 搭建流程。
Mysql+haproxy+mycat+pxc+zookeeper实现高可用集群