白名单

介绍

Pegasus的白名单功能用来防止非预期的replica server加入集群。例如:

  1. 已stop的replica server因外因重启后,加入集群;
  2. replica server配置的meta server地址有误,加入别的集群。

白名单功能禁用时,任何replica server只需要配置meta server地址,就可以被加入该集群。

白名单功能开启时,meta server只允许白名单中的replica server(ip:port)加入集群。

怎样开启白名单

配置

配置 [meta_server].enable_white_list 与 [meta_server].replica_white_list,多个ip用’,’分隔:

[meta_server]
  enable_white_list = true
  replica_white_list = 127.0.0.1:34801,127.0.0.2:34801

查询

白名单在meta server运行过程中不允许更改,只能通过修改配置并重启来修改。但是可以通过shell的remote_command来查询。

示例:

>>> remote_command -t meta-server meta.fd.allow_list

开启白名单的扩缩容

在白名单开启后,扩缩容操作需要考虑白名单的影响。

扩容

由于扩容需replica server先与meta server通信,如果此时白名单未更新,会导致meta server拒绝这个新replica server加入集群。

所以,开启白名单的集群扩容步骤,需要在普通扩容流程前,进行一下步骤:

  1. 修改meta server白名单配置,加入新replica servers
  2. 重启meta server

缩容

缩容流程中,白名单不会造成任何影响。白名单的更新也可以在缩容完成之后任意时刻进行。

但为了安全,建议及时更新白名单。只需在缩容流程的最后一步“重启meta server”前,修改meta server的白名单配置。

Apache Incubator
Copyright © 2020 The Apache Software Foundation. Licensed under the Apache License, Version 2.0.

Apache Pegasus is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.