跳到主要内容
版本:Nightly

集群维护模式

集群维护模式是 GreptimeDB 中的一个安全特性,用于临时禁止集群的自动调度操作。

该模式在以下情况下特别有用:

  • 集群升级
  • 计划停机
  • 任何可能暂时影响集群稳定性的操作

何时使用维护模式​

使用 GreptimeDB Operator​

如果你使用 GreptimeDB Operator 升级集群,你不需要手动启用维护模式。Operator 会自动处理。

不使用 GreptimeDB Operator​

当不使用 GreptimeDB Operator 升级集群时,在以下情况下必须手动启用 Metasrv 的维护模式:

  1. Datanode 节点滚动升级
  2. Metasrv 节点升级
  3. Frontend 节点升级
  4. 任何可能暂时影响节点可用性的操作

维护模式的影响​

当维护模式启用时:

  • Region Balancer(如果启用)将暂停
  • Region Failover(如果启用)将暂停
  • 手动操作/迁移 Region 仍然可行
  • 集群读、写服务正常工作
  • 监控和指标收集继续运行

管理维护模式​

维护模式可以通过 Metasrv 的 HTTP 接口启用和禁用:http://{METASRV}:{RPC_PORT}/admin/maintenance?enable=true。请注意,此接口监听 Metasrv 的 RPC_PORT,默认为 3002。

启用维护模式​

通过发送 POST 请求到 /admin/maintenance 端点启用维护模式。

curl -X POST 'http://localhost:3002/admin/maintenance?enable=true'

预期输出:

{"enabled":true}

如果遇到任何问题或意外行为,请不要继续进行维护操作。

禁用维护模式​

在禁用维护模式之前:

  1. 确保所有组件健康且正常运行
  2. 验证所有节点是否正确加入集群
curl -X POST 'http://localhost:3002/admin/maintenance?enable=false'

预期输出:

{"enabled":false}

检查维护模式状态​

通过发送 GET 请求到 /admin/maintenance 端点检查维护模式状态。

curl -X GET http:://localhost:3002/admin/maintenance

预期输出:

{"enabled":false}

故障排除​

常见问题​

  1. 无法启用维护模式
    • 验证 Metasrv 是否正在运行且可访问
    • 检查你是否具有正确的权限
    • 确保 RPC 端口正确

最佳实践​

  1. 在操作前后始终验证维护模式状态
  2. 准备好回滚计划
  3. 监控集群健康状况
  4. 记录所有维护期间进行的更改