本記事では、obshell-sdk-pythonを使用してクラスタをスケーリングアップする方法について説明します。
説明
obshell-sdk-pythonのクイックスタートの内容を確認することを推奨します。obshell-sdk-pythonの使用方法を理解できます。
注意事項
クラスタのスケーリングアップを行う前に、以下の要件にご注意ください:
リクエストするクライアントに対応するノードは、スケーリングアップ対象のクラスタ内に存在する必要があります。
obshellは正常に動作している必要があります。
クラスタに追加される拡張ノードは、これまでにどのクラスタにも参加したことがありません。
サンプルコード
タスクの同期実行
タスクの非同期実行
from obshell import ClientSet
from obshell.auth import PasswordAuth
# クライアントインスタンスを作成します。ノードアドレスは'10.10.10.1'、ポートは2886です。
# クラスタ内のroot@sysパスワードは'****'です。
client = ClientSet("10.10.10.1", 2886, PasswordAuth("****"))
configs = {
"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です。
client.v1.scale_out_sync("10.10.10.4", 2886, "zone3", configs, target_agent_password="****")
from obshell import ClientSet
from obshell.auth import PasswordAuth
# クライアントインスタンスを作成します。ノードアドレスは '10.10.10.1'、ポートは2886です。
# 所属クラスタのroot@sysパスワードは '****' です。
client = ClientSet("10.10.10.1", 2886, PasswordAuth("****"))
configs = {
"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です。
dag = client.v1.scale_out("10.10.10.4", 2886, "zone3", configs, target_agent_password="****")
# タスクが完了するのを待ちます。
client.v1.wait_dag_succeed(dag.generic_id)
関連ドキュメント
クラスタのスケーリングアップに関するAPIインターフェースの詳細については、クラスタのスケーリングアップを参照してください。
obshell-sdk-goを使用してAPIメソッドをリクエストする方法については、クラスタのスケーリングアップを参照してください。