本記事では、初期化済みのクラスタに指定したノードを追加する方法について説明します。
呼び出しの概要
インターフェース制約
obshell ServerはこのAPIに対してセキュリティ検証を行います。詳細については APIハイブリッド暗号化 を参照してください。
リクエストパス
POST /api/v1/ob/scale_out
リクエストパラメータ
パラメータ |
型 |
必須 |
サンプル値 |
説明 |
|---|---|---|---|---|
| agentInfo | AgentInfo | はい | { "ip": "10.10.10.4", "port": 2886 } |
拡張後のクラスタに追加するノード情報を設定します。以下の情報が含まれます:
|
| obconfigs | map[string]string | はい | { "mysql_port": "2881", "rpc_port": "2882", "memory_limit": "16G", "system_memory": "8G" } |
拡張後のクラスタに追加するOBServerノードの設定情報。 |
| zone | string | はい | "zone1" | ノードが属するZone。 |
| targetAgentPassword | string | いいえ | ***** | 新規ノードにノードパスワードが設定されている場合、このパラメータでノードパスワードを指定する必要があります。
説明obshell V4.2.6からこのパラメータの設定がサポートされています。 |
戻り値
パラメータ |
型 |
説明 |
|---|---|---|
| successful | bool | リクエストが成功したかどうか。 |
| timestamp | time.Time | サーバーがリクエストを完了したタイムスタンプ。 |
| duration | int | サーバーがリクエストを処理した時間(ミリ秒)。 |
| status | int | HTTP Status仕様に準拠したエンコード。 |
| traceId | string | リクエストのTrace ID。 |
| data | DagDetailDTO | 詳細については、以下の DagDetailDTO情報のデータ構造 を参照してください。 |
| error | ApiError | リクエストによって生成されたErrorで、以下の情報が含まれます:
|
DagDetailDTO情報のデータ構造は以下のとおりです:
パラメータ |
型 |
説明 |
|---|---|---|
| id | string | DAG共通ID。 |
| dag_id | int | DAG id。OceanBaseデータベースに記録されている主キーです。 |
| name | string | DAG名。 |
| stage | int | DAGの現在の実行段階。 |
| max_stage | int | DAG実行過程での総段階数。 |
| state | string | DAGの実行状態。 |
| operator | string | DAGの実行操作タイプ。 |
| start_time | time.Time | DAG実行開始時刻。 |
| end_time | time.Time | DAG実行終了時刻。 |
| additional_data | map[string]any | DAGその他のデータ。 |
| nodes | []NodeDetailDTO | DAG内のすべてのノード情報。詳細については、ノードの詳細情報を取得するを参照してください。 |
例
リクエスト例
POST 10.10.10.1:2886/api/v1/ob/scale_out
{
"agentInfo": {
"ip": "10.10.10.4",
"port": 2886
},
"obConfigs": {
"mysqlPort": "2881",
"rpcPort": "2882",
"memory_limit": "16G",
"system_memory": "8G",
"log_disk_size": "24G",
"datafile_size": "24G"
},
"zone": "zone2"
}
この例では、10.10.10.4:2886ノードをクラスタに拡張するリクエストを10.10.10.1:2886ノードに送信する方法を示しています。
レスポンス例
{
"successful": true,
"timestamp": "2024-01-09T20:40:00.86290666+08:00",
"duration": 51,
"status": 200,
"traceId": "29b9c2717c65d7bc",
"data": {
"id": "11",
"dag_id": 1,
"name": "Cluster scale out",
"stage": 1,
"max_stage": 9,
"state": "READY",
"operator": "RUN",
"start_time": "0001-01-01T00:00:00Z",
"end_time": "0001-01-01T00:00:00Z",
"additional_data": null,
"nodes": null
}
}
関連ドキュメント
コマンドラインでAPIを呼び出すほかに、SDKメソッドを使用してAPIを呼び出すこともできます。