部署和維護 / 管理員工具
本文主要介紹如何使用管理員工具維護 DataFlux Func。
DataFlux Func 提供了管理員工具,方便進行一些應急維護工作。
管理員工具附帶在容器中,需要使用 Docker exec 方式運行,可以使用 --help
查看具體使用方式:
Bash |
---|
| docker exec -it {DataFlux Func 容器 ID} sh -c 'exec python admin-tool.py --help'
|
Text Only |
---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 | usage: admin-tool.py [-h] [-f] [--admin-username ADMIN_USERNAME]
[--admin-password ADMIN_PASSWORD]
<Command>
+--------------------------+
| DataFlux Func Admin Tool |
+--------------------------+
This tool should run in the Docker container:
$ docker exec {DataFlux Func Container ID} sh -c 'exec python admin-tool.py --help'
$ docker exec -it {DataFlux Func Container ID} sh -c 'exec python admin-tool.py reset_admin [-f] [--admin-username=<Admin Username>] [--admin-password=<Password>]'
$ docker exec -it {DataFlux Func Container ID} sh -c 'exec python admin-tool.py reset_upgrade_db_seq'
$ docker exec -it {DataFlux Func Container ID} sh -c 'exec python admin-tool.py clear_redis'
$ docker exec -it {DataFlux Func Container ID} sh -c 'exec python admin-tool.py run_sql'
positional arguments:
<Command> reset_admin, reset_upgrade_db_seq, clear_redis,
run_sql
optional arguments:
-h, --help show this help message and exit
-f, --force Force run, no confirm
--admin-username ADMIN_USERNAME
Admin Username
--admin-password ADMIN_PASSWORD
Admin Password
|
1.1 重置管理員密碼
普通用户的密碼可以由系統管理員直接重新設置,
但系統管理員本身的密碼如果忘記,需要使用 DataFlux Func 附帶的管理員工具進行重置。
詳細請參考 部署和維護 / 管理員工具
1.2 重置數據庫更新序號
DataFlux Func 在安裝 / 升級時,會自動更新數據庫結構,並記錄當前數據庫結構版本序號。
在某些情況下,這個序號如果不正確,會導致系統無法正常啓動,此時需要使用管理員工具修正。
具體命令如下:
Bash |
---|
| docker exec -it {DataFlux Func 容器 ID} sh -c 'exec python admin-tool.py reset_db_upgrade_seq'
|
Bash |
---|
| cd /usr/src/app; python admin-tool.py reset_db_upgrade_seq
|
1.3 清空 Redis
在某些情況下(如:隊列堵塞需要立即恢復,腳本不合理的邏輯導致緩存過大等),可以使用以下命令,清空 Redis 數據庫。
清空 Redis 不會對 DataFlux Func 本身運行帶來問題。但運行中的業務代碼可能會依賴 Redis 中的數據,請務必確認後進行操作
具體命令如下:
Bash |
---|
| docker exec -it {DataFlux Func 容器 ID} sh -c 'exec python admin-tool.py clear_redis'
|
Bash |
---|
| cd /usr/src/app; python admin-tool.py clear_redis
|
2. 直接操作 Redis
如需要直接操作 Redis,可以直接進入 Redis 終端進行操作。
具體命令如下:
Bash |
---|
| docker exec -it {Redis 容器 ID} sh -c 'exec redis-cli -n 5'
|
DataFlux Func 默認使用 Redis 的 5 號數據庫