本記事では、obshell-sdk-goのCreateClusterWithRequestを使用してOceanBaseクラスタを迅速にデプロイおよび初期化する方法について説明します。
説明
まずは、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.NewClient("10.10.10.1", 2886)
if err != nil {
panic(err)
}
configs := map[string]string{
"datafile_size": "24G", "log_disk_size": "24G",
"cpu_count": "16", "memory_limit": "16G", "system_memory": "8G",
"enable_syslog_recycle": "true", "enable_syslog_wf": "true"}
// リクエストを作成します
createClusterRequest := client.V1().NewCreateClusterRequest().
AddServer("10.10.10.1",2886, "zone1").
AddServer("10.10.10.2",2886, "zone2").
AddServer("10.10.10.3",2886, "zone3").
ConfigObserver(configs, v1.SCOPE_GLOBAL).
ConfigCluster("obshell-sdk-test", 12358).SetPassword("1111")
// リクエストに基づいてクラスタを作成します
if err = client.V1().CreateClusterWithRequest(createClusterRequest); err != nil {
panic(err)
}
}
関連ドキュメント
obshell-sdk-pythonによるリクエストAPIメソッドの紹介については、クラスタの作成を参照してください。