本記事では、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
# クライアントインスタンスを作成します。ノードのアドレスは '10.10.10.1'、ポートは2886、ノードのエージェントパスワードは '***' です。
client = ClientSet("10.10.10.1", 2886, PasswordAuth(agent_password='***'))
client.v1.add_obproxy_sync(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"}
)
from obshell import ClientSet
from obshell.auth import PasswordAuth
# クライアントインスタンスを作成します。ノードのアドレスは '10.10.10.1'、ポートは2886、ノードのエージェントパスワードは '***' です。
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のデプロイを参照してください。