每天处理千亿级日志量,Kafka是如何做到的?
线上问题及解决方案 磁盘故障:我们通过 Smartctl 来监测,首先状态是要 Passed 的,其次我们会判断 197 Current_Pending_Sector 这个属性值不能大于 100, 如果大于 100 这个磁盘可能有读写性能问题。 bootstrap.servers 性能瓶颈:该参数可以配置多台 Broker,这些 Broker 作为 Proxy 的角色为 Kafka Clients 提供 Lookup 服务。 如果集群规模很大,Clients 很多的情况下,这些 Proxy 角色的 Broker 的负载会很大,为了解决这个问题,我们对 bootstrap.servers 参数做了 VIP 配置。 每个 VIP 可以绑定任意多的 Brokers,这样在客户端不需要修改配置的情况下可以对 Proxy 动态扩缩容。 Consumer 重启不消费:业务反馈消费停止,重启也不能够解决问题,后来定位发现是早于 0.11 之前版本的 Bug: https://issues.apache.org/jira/browse/KAFKA-5413 原因是 log cleaner 线程挂了导致 Compact 停止,__consumer_offsets 这个 Topic 的量非常大,broker reload 时间特别长,这段时间是停止服务的。 解决方法有两个: 一是升级到 Kafka 0.11+ 版本 二是将 Offset 迁移到新的 Consumer Group 来解决(规避掉有问题的 Coordinator)。 严锁鹏 (编辑:东莞站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |