本記事では、obshell-sdk-pythonを使用して指定されたノードにOBProxy(OceanBaseデータベースプロキシ、ODPとも呼ばれる)をデプロイする方法について説明します。
説明
現在、OBProxy V4.1.0.0以降のバージョンのみサポートされています。
obshell V4.2.6以降では、obshell-sdk-pythonを使用して指定されたノードにOBProxyをデプロイできます。
注意事項
obshellが正常に動作していることを確認してください。
リクエスト元のクライアントに対応するノードにOBProxyがデプロイされていないことを確認してください。
リクエスト元のクライアントに対応するノードにagent passwordが設定されていることを確認してください。
サンプルコード
タスクの非同期実行
from obshell import ClientSet
from obshell.auth import PasswordAuth
# clientインスタンスを作成します。ノードアドレスは'10.10.10.1'、ポートは2886、ノードのagentパスワードは'***'です。
client = ClientSet("10.10.10.1", 2886, PasswordAuth(agent_password='***'))
dag = client.v1.add_obproxy(home_path="/home/obproxy",
app_name="myobproxy",
sql_port=2883,
exporter_port=2884,
rpc_port=2885,
rs_list="10.10.10.1:2881;10.10.10.2:2881;10.10.10.3:2881",
proxyro_password="******",
obproxy_sys_password="*****",
parameters={"server_tcp_keepidle": "5", "enable_strict_kernel_release": "false"}
)
# タスク完了を待機します。
client.v1.wait_dag_succeed(dag-generic_id)
関連ドキュメント
OBProxyのデプロイAPIインターフェースの説明については、OBProxyのデプロイを参照してください。