运维相关的问题可以在这里进行查看。
若您仍然有部署及调用问题,请提交工单联系百度的工作人员
常用Docker命令
1.docker常用命令
docker ps -a #查看所有容器
docker restart (container_id)#重启container_id容器
docker exec -it (container_id) /bin/bash #进入到container_id容器
docker images #查看所有镜像
docker rm -f 容器ID #删除容器
人脸服务运维
- 如何查看人脸服务是否部署成功?
如果执行部署命令后,未出现错误提示,需要确认服务是否正常:
- 在宿主机上执行命令:nvidia-smi, 查看GPU进程是否启动
- 或者进入容器,执行测试脚本:
进入容器:
docker ps -a #查看所有容器
docker exec -it (container_id) /bin/bash #进入到container_id容器
切换目录
cd testtool
执行测试脚本:
/home/idl-face/odp/php/bin/php FaceApiV3Test.php 127.0.0.1 8300
2.怎么重启鉴权服务
停止服务:
cd /home/baidu/work/c-offline-security-server/ && bash start/c-offline-security-server-stop.sh
启动服务:
cd /home/baidu/work/c-offline-security-server/ && nohup bash start/c-offline-security-server-start.sh &
鉴权服务运维
- 检查鉴权服务是否启动
ps -ef|grep auth_server
服务正常启动后如下图所示:
2.检查鉴权服务端口是否启动
netstat -apn|grep 8443。服务正常启动后如下图所示:
3.查看鉴权启动日志
从/home/baidu/work/c-offline-security-server/log/auth_server.log查看鉴权服务启动日志。
1)启动成功的日志如下图所示:
2)启动时常见的报错提示如下:
如下表示license文件不对,可能的原因是license的版本不对或者人为修改了license。
4.查看鉴权请求日志
从/home/baidu/work/c-offline-security-server/log/aipeinfo日期.log查看鉴权日志。根据应用里鉴权失败的时间或者根据产品名查找日志。
1)鉴权成功日志如下:
或者
2)鉴权常见失败日志如下:
鉴权失败日志 | 原因 |
---|---|
verify finger is invaliid,product=... |
机器指纹校验失败,license和当前指纹对不上 可能原因: (1)申请License时用的指纹不是当前机器的指纹 (2)当前机器硬件发生了变化 (3)采集指纹时的用户和鉴权服务运行时的用户不一致 |
verify product has not found,product=... | License里没有该产品的授权 |
verify product lc is expired,product=... | 该产品授权已过期 |
instance_check reg fail,r_list full,product=...,id=... |
该产品授权的实例池已满。可能原因: (1)该产品的容器超过了授权的实例数 (2)已停止的容器占用了授权实例池,等1分钟后实例池自动清理过期实例,再鉴权即可 (3)应用每次重启后碰到的这种情况,可能是鉴权客户端版本较老,没有把实例id持久化,需要升级应用 |
cache client get context error:Connection refused |
鉴权服务连接本机缓存失败,可能的原因是: (1)鉴权服务配置的ip和服务器实际ip不一致; (2)8991端口或6666端口被占用,导致缓存服务没起来 |
5.重启鉴权服务
停止服务:
cd /home/baidu/work/c-offline-security-server/ && bash start/c-offline-security-server-stop.sh
启动服务:
cd /home/baidu/work/c-offline-security-server/ && nohup bash start/c-offline-security-server-start.sh &
日志查看及修改
1. 如何查看日志
(1)查看所有服务启动的日志
进入容器,查看文件
/home/idl-face/sys_start.log
(2)查看人脸服务的日志
进入容器,查看文件
/home/idl-face/feature-frame/log/service.log.wf
2.修改清理日志时长定时任务(默认为15天定期清理)
(1)进入容器
(2)切换idl-face用户
(3)执行命令crontab -e 修改天数
数据库运维
1.数据库服务加入开机自启
- 在部署过程中一键安装数据库加入开启自启功能
- 手动将数据库启动加入开机启动
vim /etc/rc.local
加入bash /home/idl-face/databus5535/sh/mysql_boot.sh
2.数据库迁移方案
您可以选择直接拷贝数据库到另一台服务器上,也可以选择将服务器中的内容导出到另一台数据库中
方法一:拷贝数据库
(1)查看服务器一是否有databus进程,如果有请kill掉databus进程
查看容器进程
ps aux|grep databus
杀掉进程(示例)
kill 76692(进程号)
(2)进入/home/idl-face/目录 将databus5535目录打包成databus5535.tar.gz,下载到本地
进入目录
cd /home/idl-face
将databus5535目录打包成databus5535.tar.gz
tar -czvf databus5535.tar.gz databus5535/
(3)服务器二中新建idl-face用户,查看是否有/home/idl-face/目录,如果没有则新建/home/idl-face/目录 新建idl-face用户
useradd idl-face
新建/home/idl-face/目录
mkdir -p /home/idl-face/
(4)4、 将databus5535.tar.gz上传到服务器中/home/idl-face/目录,解压 tar –xzvf databus5535.tar.gz (5)5、 切换idl-face用户,进入/home/idl-face/databus5535/bin/目录,启动数据库 进入目录
cd /home/idl-face/databus5535/bin/
启动数据库服务
nohup ./mysqld_safe --defaults-file=../etc/my.cnf &
(6)切换root用户,将数据库加入自启动 打开文件
vim /etc/rc.local
加入数据库自启动
bash /home/idl-face/databus5535/sh/mysql_boot.sh
方法二:数据库导入
(1)在新部署的服务器上面使用自动化脚本部署数据库服务需要提前安装数据库服务 参考部署说明文档进行数据库服务的一键安装
(2)在原数据库服务器进入/home/idl-face/databus5535/bin/目录,执行导出数据库命令 进入目录
cd /home/idl-face/databus5535/bin/
导出数据库命令
./mysqldump -u root -p face > face.sql
输入密码Bs~XIsDDv4XcDGCt)S(+4*yjQ&8NJh
(3)将face.sql下载上传到服务器二的/home/idl-face/目录 (4)进入服务器二/home/idl-face/databus5535/bin目录,进入命令行模式,删除face库 进入目录
cd /home/idl-face/databus5535/bin/
执行进入数据库命令
./mysql -u root -p
输入密码Bs~XIsDDv4XcDGCt)S(+4*yjQ&8NJh 删除数据库
drop database face;
新建数据库
create database face;
导入数据库
source /home/idl-face/face.sql
(5)新建数据库,并执行导入操作
- 数据库的备份与备份删除
(1)在服务器上/home/idl-face/databus5535/sh/目录下查看mysql_export.sh脚本
(2) 执行crontab –e命令
crontab –e
在crontab –e命令里面加入 执行数据库备份命令(eg:每周一上午2点执行数据库备份)
0 2 * * 1 bash /home/idl-face/databus5535/sh/mysql_export.sh
注:若想对备份时间点进行修改,修改前五位数字即可:
前五位代表 分钟 时 天 月 周 ,中间用空格替代
(3)如果您想对备份的数据库进行定时清除,请执行以下操作
执行crontab –e命令,在里面加入执行数据库备份删除命令(eg:每天晚上00:06会将15天前备份的数据库删除)
6 0 * * * find /home/idl-face/sql/face_* -type f -mtime +15 -exec rm -f {} \;
(4)保存
- 清除数据库图片特征值(慎用)
注:图片特征值与Face_Token有关,若您后续需要采用face_token进行人脸注册、人脸比对、人脸搜索,不建议您清除
(1)下载脚本mysql_truncate.sh并且放到服务器/home/idl-face/databus5535/sh/目录
cd /home/idl-face/databus5535/sh/
(2)当需要执行清空特征值时,执行bash /home/idl-face/databus5535/sh/mysql_truncate.sh命令
bash /home/idl-face/databus5535/sh/mysql_truncate.sh
- 关闭数据库存储图片特征值
(1)进入目录
cd /home/idl-face/odp/conf/app/face-api/project/face.conf
(2)将下图db修改为none
注:关闭后只能通过图片进行搜索,无法使用face_token,若您后续需要采用face_token进行人脸注册、人脸比对、人脸搜索,不建议您关闭
IP地址修改
- 服务器的网络环境发生变化,IP地址如何修改?
(1)删除容器
(2)修改鉴权的IP地址
鉴权IP地址所在的配置文件
vi /home/baidu/work/c-offline-security-server/conf/server.conf
修改后需重启鉴权服务
(3) 修改人脸IP地址
vim /home/baidu/work/face-server/project-conf/easypack_init.sh
(4)修改连接数据库的IP地址
数据库IP地址所在的文件
vim /home/baidu/work/face-server/project-conf/sconf/service.conf
修改数据库IP地址
(4)重新生成容器
cd /home/baidu/work/face-server/project-conf/
bash multi_docker_start.sh
若您仍然有部署及调用问题,请提交工单联系百度的工作人员