本記事では、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)