本記事では、obshell-sdk-goを使用してクラスタを拡張する方法について説明します。
説明
package main
import (
"github.com/oceanbase/obshell-sdk-go/services"
)
func main() {
// クライアントインスタンスを作成します。ノードのアドレスは '10.10.10.1'、ポートは2886です。
// 所在クラスタのroot@sysパスワードは '****' です。
client, err := services.NewClientWithPassword("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"}
// クラスタにノード '10.10.10.4:2886' を追加します。OBServerノードはzone3に配置され、configsで設定されます。
req := client.V1().NewScaleOutRequest("10.10.10.4", 2886, "zone3", configs)
if _, err = client.V1().ScaleOutSyncWithRequest(req); err != nil {
panic(err)
}
}
package main
import (
"github.com/oceanbase/obshell-sdk-go/services"
)
func main() {
// クライアントインスタンスを作成します。ノードのアドレスは '10.10.10.1'、ポートは2886です。
// 所在クラスタのroot@sysパスワードは '****' です。
client, err := services.NewClientWithPassword("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"}
// クラスタにノード '10.10.10.4:2886' を追加します。OBServerノードはzone3に配置され、configsで設定されます。
req := client.V1().NewScaleOutRequest("10.10.10.4", 2886, "zone3", configs)
dag, err := client.V1().ScaleOutWithRequest(req)
if err != nil {
panic(err)
}
// タスクが成功するまで待機します。
if _, err = client.V1().WaitDagSucceed(dag.GenericID); err != nil {
panic(err)
}
}
関連ドキュメント
-
クラスタ拡張のAPIインターフェースについては、クラスタ拡張を参照してください。
obshell-sdk-pythonでAPIメソッドを呼び出す方法については、クラスタ拡張を参照してください。