本記事では、obshell-sdk-goを使用してクラスタを引き継ぐ方法について説明します。
説明
まずは obshell-sdk-goクイックスタート を参照し、obshell-sdk-goの使用方法を確認することを推奨します。
注意事項
クラスタを引き継ぐ前に、必要なobshellがすべてのマシンで解凍され、インストールされていることを確認してください。手動で解凍することも、obshell-sdk-goを使用して解凍・インストールすることも可能です。obshell-sdk-goを使用した解凍・インストールの操作については、obshellのインストールを参照してください。
サンプルコード
func main() {
ips := []string{
"10.10.10.1",
"10.10.10.2",
"10.10.10.3",
}
workDir := "/data/ob" // OceanBaseデータベースの作業ディレクトリ
nodeConfigs := make([]util.NodeConfig, 0)
for _, ip := range ips {
nodeConfigs = append(nodeConfigs, util.NewNodeConfig(ip, workDir, 2886))
}
// パラメータの説明:
// password: 引き継ぐクラスタのroot@sysパスワード
// configs: ノード構成情報
if err := util.Takeover("pwd", nodeConfigs...); err != nil {
panic(err)
}
}
関連ドキュメント
obshell-sdk-pythonを使用したAPIメソッドのリクエスト方法については、クラスタの引き継ぎを参照してください。