Skip to content

Commit 915d035

Browse files
committed
feat: add prevent metadata changes docs
Signed-off-by: WenyXu <[email protected]>
1 parent a339258 commit 915d035

File tree

10 files changed

+164
-5
lines changed

10 files changed

+164
-5
lines changed

docs/contributor-guide/metasrv/admin-api.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,4 +255,8 @@ curl -X GET 'http://localhost:3002/admin/heartbeat?addr=127.0.0.1:4100'
255255

256256
## /maintenance HTTP endpoint
257257

258-
Maintenance mode is a safety feature in GreptimeDB that temporarily disables automatic cluster management operations. This mode is particularly useful during cluster upgrades, planned downtime, and any operation that might temporarily affect cluster stability. For more details, please refer to [Maintenance Mode](/user-guide/deployments-administration/maintenance-mode.md).
258+
Cluster Maintenance Mode is a safety feature in GreptimeDB that temporarily disables automatic cluster management operations. This mode is particularly useful during cluster upgrades, planned downtime, and any operation that might temporarily affect cluster stability. For more details, please refer to [Cluster Maintenance Mode](/user-guide/deployments-administration/maintenance/maintenance-mode.md).
259+
260+
## /procedure-manager HTTP endpoint
261+
262+
This endpoint is used to manage the procedure manager status. For more details, please refer to [Prevent Metadata Changes](/user-guide/deployments-administration/maintenance/prevent-metadata-changes.md).
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
---
2+
keywords: [GreptimeDB, GreptimeDB cluster, maintenance, pause metadata changes, maintenance mode]
3+
description: Guide for managing GreptimeDB pause metadata changes to safely perform operations like metadata backup.
4+
---
5+
6+
# Prevent Metadata Changes
7+
8+
To prevent metadata changes, you can pause the procedure manager. This mechanism rejects all new procedures (i.e., new metadata-changing operations) while allowing existing procedures to continue running.
9+
Once enabled, the Metasrv will reject the following procedures:
10+
11+
**DDL procedures:**
12+
- Create table
13+
- Drop table
14+
- Alter table
15+
- Create database
16+
- Drop database
17+
- Create view
18+
- Create flow
19+
- Drop flow
20+
21+
**Region procedures:**
22+
- Region Migration
23+
- Region Failover (if enabled)
24+
- Auto Balancing (if enabled)
25+
26+
You may see error messages if you or Metasrv try to perform these procedures after metadata changes are paused. For region procedures, you can enable [Cluster Maintenance Mode](/user-guide/deployments-administration/maintenance/maintenance-mode.md) to temporarily disable them.
27+
28+
## Managing procedure manager
29+
The procedure manager can be paused and resumed through Metasrv's HTTP interface at: `http://{METASRV}:{RPC_PORT}/admin/procedure-manager/pause` and `http://{METASRV}:{RPC_PORT}/admin/procedure-manager/resume`. Note that this interface listens on Metasrv's `RPC_PORT`, which defaults to `3002`.
30+
31+
### Pause Procedure Manager
32+
33+
Pause procedure manager by sending a POST request to the `/admin/procedure-manager/pause` endpoint.
34+
35+
```bash
36+
curl -X POST 'http://localhost:3002/admin/procedure-manager/pause'
37+
```
38+
39+
The expected output is:
40+
```bash
41+
{"status":"paused"}
42+
```
43+
44+
### Resume Procedure Manager
45+
46+
Resume procedure manager by sending a POST request to the `/admin/procedure-manager/resume` endpoint.
47+
48+
```bash
49+
curl -X POST 'http://localhost:3002/admin/procedure-manager/resume'
50+
```
51+
52+
The expected output is:
53+
```bash
54+
{"status":"running"}
55+
```
56+
57+
### Check Procedure Manager Status
58+
59+
Check procedure manager status by sending a GET request to the `/admin/procedure-manager/status` endpoint.
60+
61+
```bash
62+
curl -X GET 'http://localhost:3002/admin/procedure-manager/status'
63+
```
64+
65+
The expected output is:
66+
```bash
67+
{"status":"running"}
68+
```
69+
70+

docs/user-guide/deployments-administration/manage-data/region-failover.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ This feature is only available on GreptimeDB running on distributed mode and
1717
If you want to enable region failover on local WAL, you need to set `allow_region_failover_on_local_wal=true` in [metasrv](/user-guide/deployments-administration/configuration.md#metasrv-only-configuration) configuration file. It's not recommended to enable this option, because it may lead to data loss.
1818

1919
### Via configuration file
20-
Set `enable_region_failover=true` in the [metasrv](/user-guide/deployments-administration/configuration.md#metasrv-only-configuration) configuration file. Additionally, set `region_failure_detector_initialization_delay` to a larger value and enable [Cluster Maintenance Mode](/user-guide/deployments-administration/maintenance-mode.md) within the `region_failure_detector_initialization_delay` period to avoid triggering unnecessary Region Failover during datanode startup or upgrades.
20+
Set `enable_region_failover=true` in the [metasrv](/user-guide/deployments-administration/configuration.md#metasrv-only-configuration) configuration file. Additionally, set `region_failure_detector_initialization_delay` to a larger value and enable [Cluster Maintenance Mode](/user-guide/deployments-administration/maintenance/maintenance-mode.md) within the `region_failure_detector_initialization_delay` period to avoid triggering unnecessary Region Failover during datanode startup or upgrades.
2121

2222
### Via GreptimeDB Operator
2323

i18n/zh/docusaurus-plugin-content-docs/current.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,10 @@
215215
"message": "监控",
216216
"description": "The label for category Monitoring in sidebar docs"
217217
},
218+
"sidebar.docs.category.Maintenance": {
219+
"message": "维护",
220+
"description": "The label for category Maintenance in sidebar docs"
221+
},
218222
"sidebar.docs.category.Vector Storage": {
219223
"message": "向量存储",
220224
"description": "The label for category Vector Storage in sidebar docs"

i18n/zh/docusaurus-plugin-content-docs/current/contributor-guide/metasrv/admin-api.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -251,4 +251,8 @@ curl -X GET 'http://localhost:3002/admin/heartbeat?addr=127.0.0.1:4100'
251251

252252
## /maintenance HTTP 端点
253253

254-
维护模式是 GreptimeDB 中的一项安全功能,它可以临时禁用自动集群管理操作。此模式在集群升级、计划停机以及任何可能暂时影响集群稳定性的操作期间特别有用。有关更多详细信息,请参阅[维护模式](/user-guide/deployments-administration/maintenance-mode.md)
254+
集群维护模式是 GreptimeDB 中的一项安全功能,它可以临时禁用自动集群管理操作。此模式在集群升级、计划停机以及任何可能暂时影响集群稳定性的操作期间特别有用。有关更多详细信息,请参阅[集群维护模式](/user-guide/deployments-administration/maintenance/maintenance-mode.md)
255+
256+
## /procedure-manager HTTP 端点
257+
258+
该端点用于管理 procedure manager 状态。有关更多详细信息,请参阅[防止元数据变更](/user-guide/deployments-administration/maintenance/prevent-metadata-changes.md)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
---
2+
keywords: [GreptimeDB, GreptimeDB 集群, 维护, 暂停元数据变更]
3+
description: 管理 GreptimeDB 暂停元数据变更的指南,用于安全执行元数据备份等操作。
4+
---
5+
6+
# 防止元数据变更
7+
8+
要防止元数据变更,您可以暂停 procedure manager。此机制拒绝所有新 procedure(即新的元数据变更操作),同时允许现有 procedure 继续运行。
9+
一旦启用,Metasrv 将拒绝以下 procedures:
10+
11+
**DDL procedures:**
12+
- 创建表
13+
- 删除表
14+
- 修改表
15+
- 创建数据库
16+
- 删除数据库
17+
- 创建视图
18+
- 创建流
19+
- 删除流
20+
21+
**Region procedures:**
22+
- Region Migration
23+
- Region Failover (if enabled)
24+
- Region 自动负载均衡 (if enabled)
25+
26+
您在启用暂停元数据变更功能后尝试执行这些操作时,可能会看到错误消息。对于 Region 操作,您可以启用 [集群维护模式](/user-guide/deployments-administration/maintenance/maintenance-mode.md) 来临时暂时它们。
27+
28+
## 管理 procedure manager
29+
procedure manager 可以通过 Metasrv 的 HTTP 接口暂停和恢复:`http://{METASRV}:{RPC_PORT}/admin/procedure-manager/pause``http://{METASRV}:{RPC_PORT}/admin/procedure-manager/resume`。请注意,此接口监听 Metasrv 的 `RPC_PORT`,默认为 `3002`
30+
31+
### 暂停 procedure manager
32+
33+
通过向 `/admin/procedure-manager/pause` 端点发送 POST 请求来暂停 procedure manager。
34+
35+
```bash
36+
curl -X POST 'http://localhost:3002/admin/procedure-manager/pause'
37+
```
38+
39+
预期输出:
40+
```bash
41+
{"status":"paused"}
42+
```
43+
44+
### 恢复 procedure manager
45+
46+
通过向 `/admin/procedure-manager/resume` 端点发送 POST 请求来恢复 procedure manager。
47+
48+
```bash
49+
curl -X POST 'http://localhost:3002/admin/procedure-manager/resume'
50+
```
51+
52+
预期输出:
53+
```bash
54+
{"status":"running"}
55+
```
56+
57+
### 检查 procedure manager 状态
58+
59+
通过向 `/admin/procedure-manager/status` 端点发送 GET 请求来检查 procedure manager 状态。
60+
61+
```bash
62+
curl -X GET 'http://localhost:3002/admin/procedure-manager/status'
63+
```
64+
65+
预期输出:
66+
```bash
67+
{"status":"running"}
68+
```
69+
70+

i18n/zh/docusaurus-plugin-content-docs/current/user-guide/deployments-administration/manage-data/region-failover.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Region Failover 提供了在不丢失数据的情况下从 Region 故障中恢
2020
### 通过配置文件
2121

2222
[metasrv](/user-guide/deployments-administration/configuration.md#metasrv-only-configuration) 配置文件中设置 `enable_region_failover=true`.
23-
另外,你还需要将 `region_failure_detector_initialization_delay` 设置为较大的值,并在 `region_failure_detector_initialization_delay` 期间内,启动[集群维护模式](/user-guide/deployments-administration/maintenance-mode.md),以避免在 Datanode 启动或升级期间触发不必要的 Region Failover。
23+
另外,你还需要将 `region_failure_detector_initialization_delay` 设置为较大的值,并在 `region_failure_detector_initialization_delay` 期间内,启动[集群维护模式](/user-guide/deployments-administration/maintenance/maintenance-mode.md),以避免在 Datanode 启动或升级期间触发不必要的 Region Failover。
2424

2525
### 通过 GreptimeDB Operator
2626

sidebars.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -377,7 +377,14 @@ const sidebars: SidebarsConfig = {
377377
'user-guide/deployments-administration/disaster-recovery/dr-solution-based-on-cross-region-deployment-in-single-cluster',
378378
],
379379
},
380-
'user-guide/deployments-administration/maintenance-mode',
380+
{
381+
type: 'category',
382+
label: 'Maintenance',
383+
items: [
384+
'user-guide/deployments-administration/maintenance/maintenance-mode',
385+
'user-guide/deployments-administration/maintenance/prevent-metadata-changes',
386+
]
387+
},
381388
'user-guide/deployments-administration/run-on-android',
382389
'user-guide/deployments-administration/upgrade',
383390
],

0 commit comments

Comments
 (0)