forceStepUp - 强制将备节点升级为主节点
db.forceStepUp([options])
Sdb
该函数用于在一个不具备选举条件的复制组中,将备节点强制升级为主节点。如果升级后的主节点 LSN 比原主节点 LSN 小,则会导致之前已成功的操作回滚,因此需谨慎使用该命令。
Note:
目前仅支持在编目复制组中强制升主。
| 参数名 | 类型 | 描述 | 是否必填 | 
|---|---|---|---|
| options | object | 参数集合 | 否 | 
options 选项:
| 参数名 | 类型 | 描述 | 默认值 | 
|---|---|---|---|
| Seconds | number | 强制升级为主节点的持续时间 | 120 | 
Note:
- 目标复制组中不能存在主节点,且其他节点的 LSN 不能比目标节点的 LSN 大。需获取节点 LSN 信息可参考[节点健康检测快照][SDB_SNAP_HEALTH]。
- 当持续时间到期,所有节点会重新按照选举规则进行选举。
- 如果创建了用户,无法直接连接 catalog 节点。可以先修改 catalog 节点的配置文件中的 auth 参数,配置 auth=false 关闭 catalog 的鉴权功能,重启集群后再进行操作。
函数执行成功时,无返回值。
函数执行失败时,将抛异常并输出错误信息。
当异常抛出时,可以通过 getLastErrMsg() 获取错误信息或通过 getLastError() 获取错误码。更多错误处理可以参考[常见错误处理指南][error_guide]。
v3.4 及以上版本
连接 catalog 节点 hostname1:30000,并使其强制升主,持续 300s
> var db = new Sdb("hostname1", 30000)
> db.forceStepUp({Seconds: 300})
      