这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

群集函数

此部分包含管理大型分布式数据库群集上的 spread 部署的函数以及控制群集如何组织数据以进行重新平衡的函数。

1 - CANCEL_REBALANCE_CLUSTER

停止任何正在进行中或正在等待执行的重新平衡任务。

这是元函数。您必须在顶级 SELECT 语句中调用元函数。

行为类型

易变

语法

CANCEL_REBALANCE_CLUSTER()

超级用户

示例

=> SELECT CANCEL_REBALANCE_CLUSTER();
 CANCEL_REBALANCE_CLUSTER
--------------------------
 CANCELED
(1 row)

另请参阅

2 - DISABLE_LOCAL_SEGMENTS

禁用本地数据分段,本地数据分段会将节点上的投影分段拆分至可轻松移动到其他节点上的容器中。有关详细信息,请参阅局部数据分段

这是元函数。您必须在顶级 SELECT 语句中调用元函数。

行为类型

易变

语法

DISABLE_LOCAL_SEGMENTS()

超级用户

示例

=> SELECT DISABLE_LOCAL_SEGMENTS();
 DISABLE_LOCAL_SEGMENTS
------------------------
 DISABLED
(1 row)

3 - ENABLE_LOCAL_SEGMENTS

启用本地存储分段,本地存储分段可以将节点上的投影分段拆分到可以轻松移动至其他节点的容器中。有关详细信息,请参阅局部数据分段

这是元函数。您必须在顶级 SELECT 语句中调用元函数。

行为类型

易变

语法

ENABLE_LOCAL_SEGMENTS()

超级用户

示例

=> SELECT ENABLE_LOCAL_SEGMENTS();
 ENABLE_LOCAL_SEGMENTS
-----------------------
 ENABLED
(1 row)

4 - ENABLE_ELASTIC_CLUSTER

启用弹性群集调整,通过将一个节点的数据分段至可以轻松移动至其他主机的区块中,弹性群集调整可更为有效地扩大或缩小数据库群集的大小。

这是元函数。您必须在顶级 SELECT 语句中调用元函数。

行为类型

易变

语法

ENABLE_ELASTIC_CLUSTER()

超级用户

示例

=> SELECT ENABLE_ELASTIC_CLUSTER();
 ENABLE_ELASTIC_CLUSTER
------------------------
 ENABLED
(1 row)

5 - REALIGN_CONTROL_NODES

启用大型群集时,使得 Vertica 重新评估群集或子群集中的哪些节点为 控制节点,以及哪些节点被分配给它们作为从属节点。在更改企业模式数据库中的故障组或更改任一数据库模式中的控制节点数后调用此函数。调用此函数后,查询 V_CATALOG.CLUSTER_LAYOUT 系统表以查看建议的群集中节点的新布局。在新的控制节点分配生效之前,您还必须采取其他步骤。有关详细信息,请参阅更改控制节点的数量并重新对齐

这是元函数。您必须在顶级 SELECT 语句中调用元函数。

行为类型

易变

语法

在 ** Enterprise 模式 下:**

REALIGN_CONTROL_NODES()

在 ** Eon 模式 下:**

REALIGN_CONTROL_NODES('subcluster_name')

参数

subcluster_name
要在其中重新调整控制节点的子群集的名称。只有该子群集中的节点受到影响。其他子群集不受影响。仅当数据库在 Eon 模式下运行时才允许。

特权

超级用户

示例

在 Enterprise 模式数据库中,从所有节点中选择控制节点,并将剩余节点分配给一个控制节点:

=> SELECT REALIGN_CONTROL_NODES();

在 Eon 模式数据库中,重新评估名为 analytics 的子群集中的控制节点分配:

=> SELECT REALIGN_CONTROL_NODES('analytics');

另请参阅

6 - REBALANCE_CLUSTER

一个会话前台任务,将同步重新平衡数据库群集。REBALANCE_CLUSTER 仅在重新平衡操作完成后返回。如果当前会话结束,则操作立即中止。要将群集重新平衡为后台任务,请调用 START_REBALANCE_CLUSTER()

在大型群集排列中,您通常在流中调用 REBALANCE_CLUSTER(请参阅更改控制节点的数量并重新对齐)。在更改控制节点(spread 主机)的数量和分布后,运行 REBALANCE_CLUSTER 以实现容错。

有关重新平衡任务的详细信息,请参阅在节点之间重新平衡数据

这是元函数。您必须在顶级 SELECT 语句中调用元函数。

行为类型

易变

语法

REBALANCE_CLUSTER()

超级用户

示例

=> SELECT REBALANCE_CLUSTER();
REBALANCE_CLUSTER
-------------------
 REBALANCED
(1 row)

7 - RELOAD_SPREAD

更新对编录的 Spread 配置文件的群集更改。这些更改包括:

  • 新的或重新调整的控制节点

  • 新的 Spread 主机或容错组

  • 新的或删除的群集节点

此函数通常在多步进程中用于较大的弹性群集排列。调用此函数可能需要您重新启动数据库。然后,您必须重新平衡群集以实现容错。有关详细信息,请参阅定义和重新调整控制节点

这是元函数。您必须在顶级 SELECT 语句中调用元函数。

行为类型

易变

语法

RELOAD_SPREAD( true )

参数

true
将与控制消息责任相关的群集更改更新到 Spread 配置文件。

特权

超级用户

示例

使用更改来更新群集以控制消息传送:

=> SELECT reload_spread(true);
 reload_spread
---------------
 reloaded
(1 row)

另请参阅

REBALANCE_CLUSTER

8 - SET_CONTROL_SET_SIZE

设置启用大型群集时参与 spread 服务的 控制节点数。如果数据库在 Enterprise 模式下运行,该函数设置整个数据库群集的控制节点数。如果数据库在 Eon 模式下运行,则此函数设置您指定的子群集中的控制节点数。有关详细信息,请参阅大型群集

这是元函数。您必须在顶级 SELECT 语句中调用元函数。

行为类型

易变

语法

在 Enterprise 模式下

SET_CONTROL_SET_SIZE( control_nodes )

在 Eon 模式下:

SET_CONTROL_SET_SIZE('subcluster_name', control_nodes )

参数

subcluster_name
要在其中设置控制节点数的子群集的名称。仅当数据库在 Eon 模式下运行时才允许。
control_nodes
分配给群集(在 Enterprise 模式下)或子群集(在 Eon 模式下)的控制节点数。值可以是以下之一:
  • 正整数值:Vertica 将您指定的控制节点数分配给群集或子群集。该值可以大于当前节点数。该值不能大于 120(数据库的最大控制节点数)。在 Eon 模式下,该值加上为所有其他子群集设置的控制节点数的总和不能超过 120。

  • -1:使群集或子群集中的每个节点都成为控制节点。该值可有效禁用群集或子群集的大型群集。

特权

超级用户

示例

在 Enterprise 模式数据库中,将整个群集的控制节点数设置为 5:

=> SELECT set_control_set_size(5);
 SET_CONTROL_SET_SIZE
----------------------
 Control size set
(1 row)

另请参阅

9 - SET_SCALING_FACTOR

设置比例因子,比例因子决定在重新平衡数据库和启用了使用局部数据分段时,所使用的存储容器数量。有关详细信息,请参阅群集扩展

这是元函数。您必须在顶级 SELECT 语句中调用元函数。

行为类型

易变

语法

SET_SCALING_FACTOR( factor )

参数

factor
1 至 32 之间的整数值。Vertica 使用此值来计算进行重新平衡或启用了局部数据分段时,每个投影分解到多少个存储容器中。

超级用户

最佳实践

比例因子决定了在启用局部分段时,Vertica 在重新平衡期间用于跨数据库存储每个投影的存储容器的数量。在设置比例因子时,请遵循以下准则:

  • 存储容器的数量应大于或等于分区数量与本地分段数量的积:

    num‑storage‑containers >= ( num‑partitions * num‑local‑segments )

  • 若将比例因子设置得足够高,以便重新平衡可以传输本地分段以满足偏移阈值,但将值设置得很小,以便存储容器数量将不会产生过多的 ROS 容器,并导致 ROS 推回)。ROS 容器的最大数量(默认为 1024)由配置参数 ContainersPerProjectionLimit 设置。

示例

=> SELECT SET_SCALING_FACTOR(12);
 SET_SCALING_FACTOR
--------------------
 SET
(1 row)

10 - START_REBALANCE_CLUSTER()

一个后台任务,异步重新平衡数据库群集。此函数在重新平衡操作完成后立即返回。即使您关闭当前会话或数据库关闭,重新平衡也会持续到操作完成。在关闭的情况下,重新平衡会在群集重新启动后恢复。要停止重新平衡操作,请调用 CANCEL_REBALANCE_CLUSTER

有关重新平衡任务的详细信息,请参阅在节点之间重新平衡数据

这是元函数。您必须在顶级 SELECT 语句中调用元函数。

行为类型

易变

语法

START_REBALANCE_CLUSTER()

超级用户

示例

=> SELECT START_REBALANCE_CLUSTER();
 START_REBALANCE_CLUSTER
-------------------------
 REBALANCING
(1 row)

另请参阅

REBALANCE_CLUSTER