跳到主要内容
版本:1.0

Selector

介绍​

建表时,Metasrv 使用 Selector 为各 Region 选择 Datanode。Selector 根据当前节点租约进行选择;部分实现还会使用 Region 统计信息。

Selector 类型​

Metasrv 目前提供以下几种类型的 Selectors:

LeaseBasedSelector​

LeaseBasedSelector 从租约有效的 Datanode 中随机选择。

LoadBasedSelector​

LoadBasedSelector 按照负载来选择,负载值则由每个 Datanode 上的 region 数量决定,较少的 region 表示较低的负载,LoadBasedSelector 优先选择低负载的 Datanode。

RoundRobinSelector [默认选项]​

RoundRobinSelector 以轮询方式选择 Datanode,是默认选项,也适用于大多数部署。

配置​

您可以在启动 Metasrv 服务时通过名称配置 Selector。

  • LeaseBasedSelector: lease_based 或 LeaseBased
  • LoadBasedSelector: load_based 或 LoadBased
  • RoundRobinSelector: round_robin 或 RoundRobin

例如:

cargo run -- metasrv start --selector round_robin
cargo run -- metasrv start --selector RoundRobin