druid 中coordinator.

本文详细介绍了Druid架构中的核心组件——Coordinator。Coordinator作为Druid的中心协调模块,通过Zookeeper进行指令传递,实现segment的管理和分发,保持历史节点上的负载平衡。文章探讨了其工作原理、规则配置及代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

coordinator是Druid的中心协调模块,用于解耦各个模块之间的直接联系,负责segment的管理和分发,用于控制历史节点上的segment装在和移除,并且保持segment在各个历史节点上的负载平衡.

    druid coordinator采用定期运行任务的设计模式,它包含一些不同目的的任务.它并不直接和历史节点发生调用关系,而是通过zookeeper作为桥梁,将指令发送到zookeeper上,历史节点湖区zookeeper上的指令来装在和移除segment,所以每个历史节点不需要看到整个集群的情况.

    coordinator装载和移除segment的一句来自于一系列规则,这些规则可以通过druid的管理工具或者参数来配置.这些规则包括:

永久装载(loadForever)

时间段装载(loadByInterval)

最近时段装载(loadByPeriod)

另外,也可以设置移除drop规则,类似于装载规则.

    coordinator的代码入口在$druid\server\src\main\java\io\druid\server\coordinator\Druid-Coordinator.java.大部分核心代码在相同目录中也可以找得到

    DruidCoordinator引入了不少管理类,用于获取segment与集群的信息和管理能力.

    coordinator启动是从start()开始的,首先通过zookeeper的leaderLatch选取一个leader,确定好一个leader后,这个leader就会定期运行一些任务.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值