单机部署
百度为人脸服务的安装提供了一键部署工具,预置显卡驱动,最快半小时部署完成。
百度人脸服务预置负载均衡功能,您只需根据您的业务需求重复进行部署即可,多台机器部署可以调用同一个数据库。
- 若您需要集群部署服务,请提交工单联系百度工作人员。
-
若您需要修改License文件,请参考License更新说明文档,适用于以下几种情况:
① 鉴权物理机硬件指纹发生变化,需要重新申请部署包更换License
② 测试版转为正式版,需要更换正式版License文件
总体流程
部署环境准备
请参考部署环境准备文档,请您在部署前务必参考此文档进行硬件及软件环境检查,以避免在安装部署过程中出现问题。
Step1:获取部署包
1、获取部署包安装文件下载链接,下载部署包。
下载完成的文件示例如下:609859F08F4B4FB782948D669EE3CFE3.tar.gz;
2、将609859F08F4B4FB782948D669EE3CFE3.tar.gz上传到待部署的服务器中。
3、执行以下命令解压部署包
tar zxvf 609859F08F4B4FB782948D669EE3CFE3.tar.gz
4、解压后进入original目录执行bash download.sh命令获取全部安装文件,执行脚本后会自动下载以下安装文件:数据库服务安装包、鉴权服务安装包、应用服务安装包以及docker安装包等基础依赖环境。
bash download.sh
若您在此过程出现问题,请提交工单联系百度的工作人员
Step2:部署数据库服务
5、进入以下文件路径进行数据库服务的安装
original/package/Applications/face-server/
输入解压命令 tar -xf project-conf.tar
进入original/package/Applications/face-server/project-conf/
6、部署数据库服务(包含数据库服务开机自启功能)
bash mysql_start.sh
-------------------------------出现下面结果表示安装mysql成功------------------------------
1. databus start
2. 190506 15:08:17 mysqld_safe Logging to '/home/idl-face/databus5535/log/mysql.err'.
3. 190506 15:08:17 mysqld_safe Starting mysqld daemon with databases from /home/idl-
4. face/databus5535/var
5. databus init start
6. databus grant ...
7. databus init start
8. databus init finish
7、检查数据库是否启动成功
ps -ef | grep mysql
注:如果一键部署数据库服务失败,则参考常见问题文档
8、开放数据库端口,并将命令加入rc.local
执行iptables -I INPUT -p tcp --dport 5535 -j ACCEPT
并将该命令加入/etc/rc.local
Step3:一键安装鉴权和人脸识别服务
9、数据库安装成功后,开始进行鉴权服务和人脸识别服务的一键部署。首先进入以下文件路径;
cd original/package/Install
10、执行一键部署命令,一键安装鉴权服务和人脸识别服务;
python install.py inall
注:一键安装过程中出现的问题请参考常见问题文档,其中包含:
(1)检查服务器环境过程中遇到的问题
(2)安装Docker和NvidiaDocker遇到的问题
(3)安装人脸服务遇到的问题
(4)其他过程中遇到的问题
11、安装过程中会自动进行环境检查,如果安装进程停住并提示"Environment checking failed! Please fix them before installation."表明环境检查失败,请先排查失败的环境检查项,再重新执行安装,或者输入continue强制继续安装;
12、安装过程中会提示输入鉴权集群ip地址(鉴权服务部署时)、数据库ip地址、鉴权ip地址(人脸服务安装时),三个ip地址均输入本机实际网络地址即可。
IP填写需要填写本机实际IP,如果机器没有做静态ip且为单机部署的情况下,鉴权集群ip地址可以输入127.0.0.1,数据库ip地址以及鉴权ip地址可以输入docker0的ip地址默认为172.17.0.1
13、安装过程中提示输入gpu_id,按照提示的gpu序号填写需要安装人脸应用服务的显卡序号即可。
注:
① 在只有一张显卡的情况下,gpu_id默认为0,填写0即可;
② 当存在多张显卡时,序号从0开始增加排序,按照需求选择对应的显卡填写即可。
若您在一键安装过程中出现问题,请提交工单联系百度的工作人员
如何单独部署某个模块
1.首入通过se参数检索当前部署包内包含的所有模块清单# se :表示search,根据模块名称查询安装包里是否包括某个模块,不区分大小写,如果没有指定名称则输出安装包里所有模块信息
python install.py se
返回结果如下:
……
模块名: openresty, 内置版本 7, 依赖模块 []
模块名: docker, 版本号:1.0, 内置版本 5, 依赖模块 []
……
2.如需卸载openresty,可以执行如下命令(此处仅为示例,实际操作中根据需要执行)
# rm :remove, 根据模块名称删除某个已经安装的模块;如果有其他模块依赖这个模块,则不允许删除
python install.py rm openresty
3.重新安装openresty,则可以执行(此处仅为示例,实际操作中根据需要执行)
# in :install, 安装某个模块,名称不区分大小写
python install.py in openresty
Step4:验证服务部署成功
基础应用健康检查
应用健康检查(或故障排查)脚本:trouble_shooting.tar
脚本能力:鉴权服务健康检测、容器状态检查、端口探活、网络联通性测试、容器关键报错日志输出等
使用方法: 将脚本上传至服务器任意目录(或在服务器直接下载),并解压后运行。
# 解压
tar vxf trouble_shooting.tar
# 执行
bash trouble_shooting.sh
人脸接口可用性验证
进入face-service容器:
docker ps -a #查看所有容器
docker exec -it ${face-service容器名或容器ID} /bin/bash #进入到container_id容器
切换目录
cd testtool
执行测试脚本:
/home/idl-face/odp/php/bin/php FaceApiV3Test.php 127.0.0.1 8300
如接口返回错误信息,请根据返回的错误码前往 错误码页面排查。
如所有接口返回正常,代表部署成功。
注:
如人脸注册接口返回 “eorror_code:223105, error_msg: face is already exist”,该报错是由于FaceApiV3Test.php测试脚本重复执行,导致人脸重复注册引起,可忽略。