基线拓扑|点燃文档

点燃2023年峰会-按需观看-立即注册!

编辑

基线拓扑

这个基线拓扑是一组用来保存数据的节点。引入基线拓扑的概念是为了让您能够控制何时需要重新平衡集群中的数据例如,如果您有一个由3个节点组成的集群,其中数据分布在节点之间,然后再添加2个节点,即重新平衡进程在所有5个节点之间重新分配数据。基线拓扑更改,可以自动发生,也可以手动触发。

基线拓扑仅包括服务器节点;从不包括客户端节点,因为它们不存储数据。

基线拓扑的目的是:

  • 避免在服务器节点短时间离开集群时进行不必要的数据传输,例如,由于以下原因偶尔出现网络故障或定期进行服务器维护。

  • 让您能够控制何时需要重新平衡数据。

基线拓扑在以下情况下自动更改基线拓扑自动调整已启用。这是默认值纯内存集群的行为。对于持久集群,必须启用基线拓扑自动调整功能手动操作。默认情况下,它是禁用的,您必须手动更改基线拓扑。您可以更改基线使用的拓扑控制脚本.

注意安全

更改基线拓扑时,任何创建缓存的尝试都会导致异常。有关更多详细信息,请参阅动态创建缓存.

纯内存集群中的基线拓扑

在纯内存集群中,默认行为是根据所有服务器节点集调整基线拓扑在集群中添加或删除服务器节点时自动执行。数据也会自动重新平衡。您可以禁用基线自动调整功能并手动管理基线拓扑。

注释
在以前的版本中,基线拓扑仅与具有持久性的集群相关。然而,自2.8.0版以来,它也适用于内存中集群。如果您有一个纯内存集群,那么转换应该对您透明,因为默认情况下,当服务器节点离开或加入集群时,基线拓扑会自动更改。

持久集群中的基线拓扑

如果您的集群至少有一个启用了持久性的数据区域,那么当您第一次启动集群时,该集群将处于非活动状态。在非活动状态下,禁止所有操作。必须先激活集群,然后才能创建缓存和上传数据。集群激活将当前服务器节点集设置为基线拓扑。当您重新启动集群时,一旦基线拓扑中注册的所有节点加入,集群就会自动激活。但是,如果某些节点在重新启动后未加入,则必须手动激活集群。

您可以使用以下工具之一激活群集:

  • 控制脚本

  • REST API命令

  • 以编程方式:

    点燃 点燃 = 点火.开始();
    
    点燃.集群().状态(ClusterState(群集状态).激活);
    伊利石 点燃 = 点火.起点();
    点燃.获取群集().设置活动(真的);

基线拓扑自动调整

您可以让集群自动更改基线拓扑,而不是手动更改。此功能称为基线拓扑自动调整。启用后,集群将监视其服务器节点的状态,并设置当集群拓扑在可配置的时间段内稳定时,自动对当前拓扑进行基线检查。

以下是集群中节点集更改时发生的情况:

  • 集群等待可配置的时间(默认为5分钟)。

  • 如果在此期间没有其他拓扑更改,Ignite会将基线拓扑设置为当前节点集。

  • 如果节点集在此期间发生更改,则会更新超时。

节点集中的每个更改都会重置自动调整的超时。当超时过期且当前节点集与基线拓扑不同时(例如,新节点),Ignite将基线拓扑更改为当前节点集。这也会触发数据重新平衡。

当节点由于临时网络问题或您想快速重新启动节点时。如果希望节点集发生临时更改,并且不想更改,可以将超时设置为更高的值基线拓扑。

只有当集群处于活动状态时,才会自动调整基线拓扑。

要启用自动基线调整,可以使用控制脚本编程API方法如下所示:

点燃 点燃 = 点火.开始();

点燃.群集().基线自动调整已启用(真的);

点燃.集群().基线自动调整超时(30000);
伊利石 点燃 = 点火.起点();
点燃.获取群集().设置基线自动调整启用标志(真的);
点燃.获取群集().设置基线自动调整超时(30000);

要禁用自动基线调整,请使用与传入:

点燃.集群().基线自动调整已启用();
点燃.获取群集().设置基线自动调整启用标志();

监视基线拓扑

您可以使用以下工具监视和/或管理基线拓扑: