ๅบไบๆนๅบไธไฝๆถๆ๏ผ็ปไธ็ฎก็็ปๆๅใๅ็ปๆๅไธ้็ปๆๅ็ญๅคๆจกๆๆฐๆฎ๏ผไธไธช็ณป็ปๆฟ่ฝฝไบๅกๅค็ใๅฎๆถๅๆไธ AI ๅทฅไฝ่ด่ฝฝใ
ไฝฟ็จ oatcli ๅๅงๅ OBServer ๆๅกๅจ
ๆดๆฐๆถ้ด๏ผ2025-04-01 11:58:38
oatcli ๆฏ็ฎก็ OAT ่ตๆบ็ๅฝไปค่กๅทฅๅ ท๏ผๆฏๆไฝฟ็จๅฝไปค่กๆทปๅ ๆๅกๅจใๅฎ่ฃ OceanBase ไบงๅ็ญใ
ๅๆๆกไปถ
- ๆจๅทฒๅๅค OBServer ๆๅกๅจๅนถไธๅทฒๅฎๆ็ธๅ ณ้ ็ฝฎใ่ฏฆ็ปไฟกๆฏ๏ผ่ฏทๅ่ง ๅๅคๆๅกๅจ ๅ ๆๅกๅจ้ ็ฝฎใ
- ๆจๅทฒๅฎ่ฃ OATใ่ฏฆ็ปไฟกๆฏ๏ผ่ฏทๅ่ง ้จ็ฝฒ OATใ
- ๆจๆฅๆ OAT ๆๅกๅจ็
root็จๆทๆ้ใ
ๆไฝๆญฅ้ชค
่ฟๆฅๅฐๅฎ่ฃ OAT ็ๆๅกๅจใ
็คบไพๅฆไธ๏ผ
ไฝฟ็จ
ssh่ฟๆฅๅฐๅฎ่ฃ OAT ็ๆๅกๅจใC:\Users\user001>ssh admin@xxx.xxx.xxx.xxx admin@xxx.xxx.xxx.xxx's password:ไฝฟ็จไธ้ขๅฝไปค่ฟๅ ฅๅฐ OAT ๅฎนๅจใ
่ฏดๆ
ๆง่กไธ้ขๅฝไปค๏ผ้่ฆ
rootๆ้ใdocker exec -it oat bash็คบไพๅฆไธ๏ผ
[admin@xxx /home/admin] $sudo docker exec -it oat bash่ฟๅ็ปๆ๏ผ
[root@xxx oat]#๏ผๅฏ้๏ผๅฏไปฅไฝฟ็จไปฅไธๅฝไปคๆฅ็ oatcli ็ไฝฟ็จๆนๆณใ
oatcli --helpๆดๅค oatcli ๅฝไปคไฟกๆฏ๏ผ่ฏทๅ่ง oatcliใ
็คบไพๅฆไธ๏ผ
[root@xxx oat]# oatcli --help่ฟๅ็ปๆ๏ผ
Usage: oatcli [OPTIONS] COMMAND [ARGS]... Command line tool for manage OAT resources โญโ Options โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ --install-completion Install completion for the current shell. โ โ --show-completion Show completion for the current shell, to copy it or โ โ customize the installation. โ โ --help Show this message and exit. โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โญโ Commands โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ config Config OAT API Server address, username and password โ โ create Create resource in OAT โ โ dagrun Operate dagrun and task status in OAT โ โ delete Delete resource in OAT โ โ describe Get resource detail info in OAT โ โ get Get resource info in OAT โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ่ฎพ็ฝฎ OAT API ๅฐๅใ็จๆทๅๅๅฏ็ ๆฅ่ฐ็จ OAT APIใ
oatcli config set [OPTIONS]้้กน่ฏดๆ๏ผ
-s, --api-server TEXT๏ผapi_server๏ผไพๅฆ๏ผ127.0.0.1:7000ใ-u, --username TEXT๏ผ็จๆทๅใ-p, --password TEXT๏ผๅฏ็ ใ--help๏ผๆพ็คบๆญคๆถๆฏๅนถ้ๅบใ
็คบไพๅฆไธ๏ผ
[root@xxx oat]# oatcli config set -sxxx.xxx.xxx.1:7000 -uadmin -p******่ฟๅ็ปๆ๏ผ
11:14:16 [INFO] update {'api_server': 'xxx.xxx.xxx.1:7000', 'username': 'admin', 'password': '******'} to /root/.oatcli/config.jsonๅๅปบ ๆบๆฟใ
ไธบๆๅกๅจๅๅปบๆบๆฟไฟกๆฏ๏ผๆนๆณๅฆไธ๏ผ
oatcli create idc [OPTIONS] NAME REGIONๅๆฐ่ฏดๆ๏ผ
NAME๏ผๆบๆฟๅ็งฐ [ๅฟ ้]ใREGION๏ผๆบๆฟๆๅจๅฐๅ [ๅฟ ้]ใ
้้กน่ฏดๆ๏ผ
--help๏ผๆพ็คบๆญคๆถๆฏๅนถ้ๅบใ
็คบไพๅฆไธ๏ผ
ๅๅปบ ๆบๆฟ ็ๅ็งฐไธบ
hz0๏ผๅฐๅไธบhangzhouใ[root@xxx oat]# oatcli create idc hz0 hangzhou่ฟๅ็ปๆ๏ผ
11:20:05 [DEBUG] Starting new HTTP connection (1): xxx.xxx.xxx.1:7000 11:20:05 [DEBUG] http://xxx.xxx.xxx.1:7000 "POST /api/v2/idcs HTTP/1.1" 201 175 โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ {'id': 2, 'name': 'hz0', 'region': 'hangzhou'} โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏๅๅปบ ๅญๆฎใ
ไธบๆๅกๅจ่ฟๆฅๅๅปบ SSH ๅญ่ฏ๏ผๆนๆณๅฆไธ๏ผ
oatcli create credential [OPTIONS] NAME AUTH_TYPE:{password|pubkey|external}ๅๆฐ่ฏดๆ๏ผ
NAME๏ผๅญ่ฏๆ ่ฏๅ็งฐ [ๅฟ ้]ใAUTH_TYPE:{password|pubkey|external}๏ผๆๆ็ฑปๅ [ๅฟ ้]ใpassword๏ผๅฏ็ ่ฎค่ฏใpubkey๏ผๅ ฌ้ฅ่ฎค่ฏใexternal๏ผๅทฒ้ ็ฝฎๅ ๅฏใ
้้กน่ฏดๆ๏ผ
-u, --username TEXT๏ผ[้ป่ฎคๅผ๏ผroot]ใ-p, --password TEXT๏ผๅฏ็ ใ-k, --key-file PATH๏ผSSH ็ง้ฅๆไปถใ--help๏ผๆพ็คบๆญคๆถๆฏๅนถ้ๅบใ
็คบไพๅฆไธ๏ผ
ๅๅปบ ๅญๆฎ ็ๅ็งฐไธบ
root_148๏ผ็จๆท็ฑปๅไธบroot็จๆท๏ผๆๆ็ฑปๅไธบๅฏ็ ่ฎค่ฏใ[root@xxx oat]# oatcli create credential -uroot -p****** root_148 password่ฟๅ็ปๆ๏ผ
11:39:17 [DEBUG] Starting new HTTP connection (1): xxx.xxx.xxx.1:7000 11:39:17 [DEBUG] http://xxx.xxx.xxx.1:7000 "POST /api/v2/credentials HTTP/1.1" 200 309 โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ { โ โ 'id': 1, โ โ 'servers': [], โ โ 'name': 'root_148', โ โ 'authType': 'password', โ โ 'username': 'root', โ โ 'createTime': '2023-06-19T11:39:17.315921+08:00', โ โ 'updateTime': '2023-06-19T11:39:17.315969+08:00' โ โ } โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏๆทปๅ OBServer ๆๅกๅจ๏ผๆทปๅ ๅนถๅๅงๅๆๅกๅจ๏ผใ
oatcli create server [OPTIONS] IPS... INIT_TAG:{observer|obproduct|both}้้กน่ฏดๆ๏ผ
-i, --idc TEXT๏ผๆบๆฟๅ็งฐ:ๅฐๅ๏ผๅฟ ้กปๅทฒ็ปๅญๅจ [ๅฟ ้]ใ-c, --credential-name TEXT๏ผๅญ่ฏๅ็งฐ๏ผๅฟ ้กปๅทฒ็ปๅญๅจ [ๅฟ ้]ใ--add-only | --no-add-only๏ผ่ชๅฎไน้้กน๏ผๆๅกๅจๆฏๅฆๅๅงๅ้ ็ฝฎ [้ป่ฎคๅผ๏ผno-add-only]ใ--add-only๏ผไป ๆทปๅ ๆๅกๅจ๏ผไธๆง่กๆไฝ็ณป็ป้ ็ฝฎๆไฝใ--no-add-only๏ผๆง่กๆไฝ็ณป็ป้ ็ฝฎๆไฝใ
--ssh-port INTEGER๏ผSSH ็ซฏๅฃ [้ป่ฎคๅผ๏ผ22]ใ--docker-root-dir TEXT๏ผ[้ป่ฎค่ทฏๅพ๏ผ/docker]ใ--admin-uid-gid TEXT๏ผ[้ป่ฎคๅผ๏ผ500:500]ใ--admin-password TEXT๏ผๅฏ็ ใ--help๏ผๆพ็คบๆญคๆถๆฏๅนถ้ๅบใ
ๅๆฐ่ฏดๆ๏ผ
IPS...๏ผๆๅกๅจ IP [ๅฟ ้]ใINIT_TAG:{observer|obproduct|both}๏ผๆๅกๅจ็จ้ [ๅฟ ้]ใobserver๏ผๅฎ่ฃ OBServerใobproduct๏ผๅฎ่ฃ OceanBase ไบงๅๆๅกใboth๏ผๅฎ่ฃ OBServer ๅ OceanBase ไบงๅๆๅกใ
็คบไพๅฆไธ๏ผ
ๆทปๅ OBServer ๆๅกๅจ๏ผไฝฟ็จ็ ๅญๆฎ ไธบ
root_148๏ผไฝฟ็จ็ ๆบๆฟๅ็งฐ:ๅฐๅ ไธบhz0:hangzhou๏ผ่ฎพ็ฝฎ ๆๅกๅจ็จ้ ไธบobserverใ[root@xxx oat]# oatcli create server -ihz0:hangzhou -croot_148 xxx.xxx.xxx.2 observer่ฟๅ็ปๆ๏ผ
13:56:05 [DEBUG] Starting new HTTP connection (1): xxx.xxx.xxx.1:7000 13:56:06 [DEBUG] http://xxx.xxx.xxx.1:7000 "GET /api/v2/credentials?name=root_148 HTTP/1.1" 200 389 13:56:06 [DEBUG] Starting new HTTP connection (1): xxx.xxx.xxx.1:7000 13:56:06 [DEBUG] http://xxx.xxx.xxx.1:7000 "GET /api/v2/idcs?name=hz0®ion=hangzhou HTTP/1.1" 200 255 13:56:06 [DEBUG] Starting new HTTP connection (1): xxx.xxx.xxx.1:7000 13:56:06 [DEBUG] http://xxx.xxx.xxx.1:7000 "POST /api/v2/servers/batchCreate HTTP/1.1" 200 788 โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ { โ โ 'contents': [ โ โ { โ โ 'id': 2, โ โ 'idcInfo': {'id': 2, 'name': 'hz0', 'region': 'hangzhou'}, โ โ 'ip': 'xxx.xxx.xxx.2', โ โ 'sshPort': 22, โ โ 'checkStatus': 'unknown', โ โ 'operateStatus': 'init', โ โ 'description': '', โ โ 'isOio': False, โ โ 'platform': {'system': '', 'node': '', 'release': '', 'version': '', 'machine': ''}, โ โ 'hardware': {'cpu': 0, 'memory': 0, 'disk': 0}, โ โ 'service': {'product': [], 'component': [], 'observer': []}, โ โ 'runtimeInfo': {'dockerRootDir': '/docker', 'adminUidGid': '500:500', 'initTag': ['observer']}, โ โ 'networkInfo': [], โ โ 'createTime': '2023-06-19T13:56:06.839271+08:00', โ โ 'updateTime': '2023-06-19T13:56:06.859580+08:00', โ โ 'relateDagrun': 5, โ โ 'credential': 1 โ โ } โ โ ], โ โ 'page': {'totalElements': 1, 'totalPages': 1, 'number': 1, 'size': 100} โ โ } โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏๆฅ็ๆๅกๅจๆฏๅฆๆทปๅ ๅฎๆใ
ๆฅ็ๆๅกๅจ่ฏฆ็ปไฟกๆฏๅ็ธๅ ณ็ dagrun ไฟกๆฏใ
oatcli describe server [OPTIONS] IPๅๆฐ่ฏดๆ๏ผ
IP๏ผๅ ทไฝๆๅกๅจ IP [ๅฟ ้]ใ้้กน่ฏดๆ๏ผ
--help๏ผๆพ็คบๆญคๆถๆฏๅนถ้ๅบใ็คบไพๅฆไธ๏ผ
[root@xxx oat]# oatcli describe server xxx.xxx.xxx.2่ฟๅ็ปๆ๏ผ
14:41:01 [DEBUG] Starting new HTTP connection (1): xxx.xxx.xxx.1:7000 14:41:01 [DEBUG] http://xxx.xxx.xxx.1:7000 "GET /api/v2/servers?ip=xxx.xxx.xxx.2 HTTP/1.1" 200 1085 14:41:01 [DEBUG] Starting new HTTP connection (1): xxx.xxx.xxx.1:7000 14:41:01 [DEBUG] http://xxx.xxx.xxx.1:7000 "GET /api/v2/servers/2 HTTP/1.1" 200 998 โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ โ { โ โ 'id': 2, โ โ 'idcInfo': {'id': 2, 'name': 'hz0', 'region': 'hangzhou'}, โ โ 'ip': 'xxx.xxx.xxx.2', โ โ 'sshPort': 22, โ โ 'checkStatus': 'unknown', โ โ 'operateStatus': 'idle', โ โ 'description': '', โ โ 'isOio': False, โ โ 'platform': { โ โ 'system': 'Linux', โ โ 'node': 'h07g04228.sqa.eu95', โ โ 'release': '3.10.0-327.ali2010.rc7.alios7.x86_64', โ โ 'version': '#1 SMP Thu Jun 29 21:45:21 CST 2017', โ โ 'machine': 'x86_64' โ โ }, โ โ 'hardware': {'cpu': 32, 'memory': 125, 'disk': ''}, โ โ 'service': {'observer': [], 'product': [], 'component': [], 'tool': []}, โ โ 'runtimeInfo': {'dockerRootDir': '/docker', 'adminUidGid': '500:500', 'initTag': ['observer']}, โ โ 'networkInfo': [ โ โ {'nic': 'lo', 'ipWithMask': '127.0.0.1/8'}, โ โ {'nic': 'bond0', 'ipWithMask': 'xxx.xxx.xxx.2/26'}, โ โ {'nic': 'bond0', 'ipWithMask': 'xxx.xxx.xxx.3/26'}, โ โ {'nic': 'docker0', 'ipWithMask': '172.17.0.1/16'} โ โ ], โ โ 'createTime': '2023-06-19T13:56:06.839271+08:00', โ โ 'updateTime': '2023-06-19T14:35:31+08:00', โ โ 'relateDagrun': 5, โ โ 'credential': 1 โ โ } โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ 14:41:01 [DEBUG] Starting new HTTP connection (1): xxx.xxx.xxx.1:7000 14:41:02 [DEBUG] http://xxx.xxx.xxx.1:7000 "GET /api/v2/dagruns/5 HTTP/1.1" 200 2727 14:41:02 [INFO] relate dagrun info: โโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ id โ innerState โ executeTime โ startTime โ โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ โ check_ssh โ success โ 2023-06-19T05:56:06.842182Z โ 2023-06-19T05:56:07.970263Z โ โ create_admin_user โ success โ 2023-06-19T05:56:06.842182Z โ 2023-06-19T05:56:09.060737Z โ โ config_docker โ success โ 2023-06-19T05:56:06.842182Z โ 2023-06-19T05:56:10.319578Z โ โ config_deps โ success โ 2023-06-19T05:56:06.842182Z โ 2023-06-19T05:56:10.319575Z โ โ config_os โ success โ 2023-06-19T05:56:06.842182Z โ 2023-06-19T05:56:10.319600Z โ โ config_chrony โ success โ 2023-06-19T05:56:06.842182Z โ 2023-06-19T05:56:10.319587Z โ โ precheck โ success โ 2023-06-19T05:56:06.842182Z โ 2023-06-19T05:56:23.563900Z โ โ update_server โ success โ 2023-06-19T05:56:06.842182Z โ 2023-06-19T06:35:31.197149Z โ โโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโๅจ OAT ไธญ่ทๅ่ตๆบไฟกๆฏใ
oatcli get [OPTIONS] COMMAND [ARGS]...้้กน่ฏดๆ๏ผ
--help๏ผๆพ็คบๆญคๆถๆฏๅนถ้ๅบใ
ๅฝไปค่ฏดๆ๏ผ
component๏ผ่ทๅ็ปไปถไฟกๆฏใcredential๏ผ่ทๅๅญ่ฏไฟกๆฏใidc๏ผ่ทๅๆบๆฟไฟกๆฏใimage๏ผ่ทๅ้ๅไฟกๆฏใproduct๏ผ่ทๅไบงๅไฟกๆฏใserver๏ผ่ทๅๆๅกๅจไฟกๆฏใ
็คบไพๅฆไธ๏ผ
่ทๅๆๅกๅจๅ่กจไฟกๆฏใ
[root@xxx oat]# oatcli get server่ฟๅ็ปๆ๏ผ
14:35:50 [DEBUG] Starting new HTTP connection (1): xxx.xxx.xxx.1:7000 14:35:50 [DEBUG] http://xxx.xxx.xxx.1:7000 "GET /api/v2/servers HTTP/1.1" 200 1085 โโโโโโณโโโโโโโโโโโโโโโโณโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโ โ id โ ip โ sshPort โ idcInfo โ description โ operateStatus โ โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ โ 2 โ xxx.xxx.xxx.2 โ 22 โ {'id': 2, 'name': 'hz0', 'region': 'hangzhou'} โ โ idle โ โโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโ
ๅ็ปญๆไฝ
ๆๅกๅจๅๅงๅๆๅๅ๏ผๆจๅฏไปฅๆ นๆฎ่ชๅทฑ็้ๆฑ้จ็ฝฒ OceanBase ้็พค๏ผ
- ไฝฟ็จๅฝไปค่ก้จ็ฝฒไธคๅฏๆฌๅ ไปฒ่ฃๆๅก็ OceanBase ้็พค
- ไฝฟ็จๅฝไปค่ก้จ็ฝฒๅๅฏๆฌ OceanBase ้็พค
- ไฝฟ็จๅฝไปค่ก้จ็ฝฒไธๅฏๆฌ OceanBase ้็พค