首批通过分布式安全可靠测评,为关键业务系统打造
停止集群
更新时间:2026-04-10 11:58:35
本文介绍如何通过 obshell-sdk-go 停止集群。
说明
建议先查看 obshell-sdk-go 快速上手 内容,了解如何使用 obshell-sdk-go。
注意事项
请确保 obshell 正常运行。
请确保请求的 client 对应的节点在待停止的集群中。
示例代码
package main
import (
"github.com/oceanbase/obshell-sdk-go/services"
"github.com/oceanbase/obshell-sdk-go/services/v1"
)
func main() {
// 创建 client 实例,节点地址为 '10.10.10.1',端口为 2886。
// 所在集群的 root@sys 密码为 '****'。
client, err := services.NewClientWithPassword("10.10.10.1", 2886, "***")
if err != nil {
panic(err)
}
// 强行停止集群中所有 OBServer 节点。
req := client.V1().NewStopRequest(v1.SCOPE_GLOBAL).SetForce()
if _, err = client.V1().StopSyncWithRequest(req); err != nil {
panic(err)
}
}
package main
import (
"github.com/oceanbase/obshell-sdk-go/services"
"github.com/oceanbase/obshell-sdk-go/services/v1"
)
func main() {
// 创建 client 实例,节点地址为 '10.10.10.1',端口为 2886。
// 所在集群的 root@sys 密码为 '****'。
client, err := services.NewClientWithPassword("10.10.10.1", 2886, "***")
if err != nil {
panic(err)
}
// 强行停止集群中所有 OBServer 节点。
req := client.V1().NewStopRequest(v1.SCOPE_GLOBAL).SetForce()
dag, err := client.V1().StopWithRequest(req)
if err != nil {
panic(err)
}
// 等待任务成功
if _, err = client.V1().WaitDagSucceed(dag.GenericID); err != nil {
panic(err)
}
}