storm使用zookeeper造成事务日志过大的解决方案

storm配置参数:

https://blog.csdn.net/Simon_09010817/article/details/81236544

其中:

supervisor.heartbeat.frequency.secs    supervisor心跳发送频率(多久发送一次)  默认为5s
worker.heartbeat.frequency.secs          worker的心跳发送时间间隔   默认为1s
task.heartbeat.frequency.secs               task汇报状态心跳时间间隔   默认为3s

查看zookeeper事务日志:

/app/zookeeper/zookeeper-3.4.10/logs/version-2

利用格式化输出其中日志:

java -classpath .:slf4j-api-1.6.1.jar:../zookeeper-3.4.10.jar  org.apache.zookeeper.server.LogFormatter  /app/zookeeper/zookeeper-3.4.10/logs/version-2/log.1a000178d1

如下:

其中可以看出:

/storm/workerbeats/<topology-id>/supervisorId-port   setData的频率为3s

/storm/supervisors/supervisor-id      setData的频率为5s

由于心跳频率大,setData过于频繁,并且zk不适合写入,会导致zk出现异常情况。

在storm集成kafka中强依赖zk,由于业务量增大,读写频繁。导致生产环境zookeeper事务日志激增。每天产生4-6G的日志。将日志保留7天调整为3天。但仍需调整心跳频率,保证运行稳定性。

调整:

supervisor.heartbeat.frequency.secs: 10
task.heartbeat.frequency.secs :6

在storm配置文件conf/ storm.yaml   将两个值扩大一倍。

重启storm集群、将运行的topo kill 再重新启动(否则task.heartbeat.frequency.secs不生效)

再次格式化输出上述日志:

可以看出:

/storm/workerbeats/<topology-id>/supervisorId-port   setData的频率变为6s了

/storm/supervisors/supervisor-id      setData的频率变为5s了。

由此断定,更改的两个storm的参数生效了。

但是worker.heartbeat.frequency.secs 这个参数   作用在何暂处未找到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值