Cruise Control增强Kafka负载均衡的示例分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
Cruise Control是一个Kafka负载平衡组件,可以在大型Kafka集群中安装使用。在添加或删除Kafka代理时,Cruise Control可以根据特定条件自动平衡分区。
Cruise Control的体系结构由负载监控器、分析器、异常检测器和执行器组成,如下图所示。
基于标准Kafka指标和资源指标生成集群工作负载模型,以利用磁盘、CPU、字节输入速率和字节输出速率。
将集群模型输入到异常检测器和分析器中。
根据用户提供的优化目标以及来自Load Monitor的集群工作负载模型,生成优化建议。
可以设定硬目标和软目标。
必须实现硬目标,而如果达到硬目标,则软目标将无法实现。
如果优化结果违反了硬目标,则优化将失败。
|
|
|
|
|
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指标。看完上述内容,你们掌握Cruise Control增强Kafka负载均衡的示例分析的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!