本記事では、obshell-sdk-go の CreateClusterWithRequest を使用して、OceanBase クラスタを迅速にデプロイおよび初期化する方法について説明します。
説明
まず、obshell-sdk-go クイックスタート を参照し、obshell-sdk-go の使用方法を確認することを推奨します。
注意事項
obshell が正常に実行されていることを確認してください。
リクエスト対象のクライアントが対応するノードがどのクラスタにも属していないことを確認してください。
サンプルコード
package main
import (
"github.com/oceanbase/obshell-sdk-go/services"
"github.com/oceanbase/obshell-sdk-go/services/v1"
)
func main() {
// クライアントインスタンスを作成します。ノードのアドレスは '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メソッドの紹介については、クラスタの作成を参照してください。