前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Cruise Control增强Kafka负载均衡

Cruise Control增强Kafka负载均衡

作者头像
大数据杂货铺
发布2020-10-29 10:13:13
1.1K0
发布2020-10-29 10:13:13
举报
文章被收录于专栏:大数据杂货铺

Cruise Control是一个Kafka负载平衡组件,可以在大型Kafka集群中安装使用。在添加或删除Kafka代理时,Cruise Control可以根据特定条件自动平衡分区。

Cruise Control的体系结构由负载监控器、分析器、异常检测器和执行器组成,如下图所示。

负载监控器

基于标准Kafka指标和资源指标生成集群工作负载模型,以利用磁盘、CPU、字节输入速率和字节输出速率。将集群模型输入到异常检测器和分析器中。

分析仪

根据用户提供的优化目标以及来自Load Monitor的集群工作负载模型,生成优化建议。可以设定硬目标和软目标。必须实现硬目标,而如果达到硬目标,则软目标将无法实现。如果优化结果违反了硬目标,则优化将失败。

异常检测器

负责检测以下异常:

异常现象

原因

结果

Broker失败

非空Broker崩溃或离开集群。

Cruise Control通过删除故障的broker来修复集群。

违反目标

优化被违反。

如果启用了自我修复,Cruise Control会自动分析工作负载并执行优化建议。

磁盘故障

非空磁盘死亡。

如果启用了自我修复功能,则Cruise Control会将所有脱机副本移至正常代理。

指标异常

收集的指标异常。

可能会先降级,如果异常仍然存在,请根据self.healing.slow.brokers.removal.enabled配置删除速度慢的broker 。

执行器

执行优化建议,执行建议时可以安全地中断它。执行始终是资源感知的过程。

检索指标

Cruise Control使用Kafka存储和检索其指标,该指标由Metric Fetcher读取。

在负载监视器中,Metric Fetcher Manager负责协调所有采样任务:Metric采样任务,Bootstrap任务和线性模型训练任务。

每个采样任务都由配置数量的Metric Fetcher线程执行。每个Metric Fetcher线程使用一个可插入的Metric Sampler来获取样本。每个Metric Fetcher都在集群中分配了几个分区以获取样本。指标标准样本由指标标准样本聚合器组织,该指标标准聚合器根据指标标准样本的时间戳将每个指标标准样本放入工作负载快照中。

集群工作负载模型是负载监视器的主要输出。集群工作负载模型反映了集群的当前副本分配,并提供了移动分区或副本的接口。分析器使用这些接口来生成优化解决方案。

样本存储区存储指标标准和训练样本以供将来使用。

借助指标标准采样器,您可以将Cruise Control部署到各种环境并与现有的指标标准系统一起使用。

在Cloudera环境中使用Cruise Control时,将HttpMetricsReporter 指标报告给Cloudera Manager时间序列数据库。结果,可以使用Cloudera Manager读取Kafka指标。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据杂货铺 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档