部署和维护 / 管理员工具
本文主要介绍如何使用管理员工具维护 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 号数据库