多机部署
百度为人脸服务的安装提供了一键部署工具,预置显卡驱动,最快半小时部署完成。
百度人脸服务预置负载均衡功能,您只需根据您的业务需求重复进行部署即可,多台机器部署可以调用同一个数据库。
- 若您需要单机部署服务,请参考单机部署文档。
- 若您需要集群部署服务,请提交工单联系百度工作人员。
-
若您需要修改License文件,请参考License更新说明文档,适用于以下几种情况:
① 鉴权物理机硬件指纹发生变化,需要重新申请部署包更换License
② 测试版转为正式版,需要更换正式版License文件
- 如果您在此部署过程中有任何问题,可以通过提交工单的方式咨询解决。
##总体流程
部署环境准备
请参考部署环境准备文档,请您在部署前务必参考此文档进行硬件及软件环境检查,以避免在安装部署过程中出现问题。
Step1:部署鉴权服务
- 鉴权服务用于给人脸识别服务认证授权,如果不运行鉴权服务,后续的人脸服务也将无法启动。
- 鉴权服务要求必须在Linux物理机上运行,鉴权服务根据提取的指纹文件生成,指纹文件和机器硬件采用一机一码绑定。因此运行鉴权服务的机器硬件设备不允许改变,如有改变将导致服务终止,需要重新申请授权。
- 获取指纹请使用root用户执行。
鉴权服务安装步骤
1、获取部署包安装文件下载链接,下载部署包。
下载完成的文件示例如下:609859F08F4B4FB782948D669EE3CFE3.tar.gz;
2、执行以下命令解压部署包
tar zxvf 609859F08F4B4FB782948D669EE3CFE3.tar.gz
3、解压后进入original目录执行bash download.sh命令获取全部安装文件,执行脚本后会自动下载以下安装文件:鉴权服务安装包、人脸服务安装包以及docker安装包等基础依赖环境。
bash download.sh
4、将带有全部安装文件的original文件夹上传到待部署的服务器中。
5、进入以下文件路径;
cd original/package/Install/
6、执行以下命令完成鉴权服务的安装。
python install.py in c-offline-security-server
7、安装过程中会自动进行环境检查,如果安装进程停住并提示"Environment checking failed! Please fix them before installation."表明环境检查失败,请先排查失败的环境检查项,再重新执行安装,或者输入continue强制继续安装;
8、服务启动会监听8443端口,通过netstat -apn | grep 8443可以看端口是否已经被监听。
9、服务日志在解压后目录的/home/baidu/work/c-offline-security-server/log下,提供该目录下的所有日志文件,可以通过日志定位问题。
10、停止鉴权服务和启动鉴权服务的方法如下:
停止鉴权服务:
cd /home/baidu/work/c-offline-security-server/ && bash start/c-offline-security-server-stop.sh
启动鉴权服务:
cd /home/baidu/work/c-offline-security-server/ && bash start/c-offline-security-server-start.sh
##Step2:部署数据库服务
数据库服务是人脸识别服务正常使用的必要条件
无论是单实例部署场景,多实例部署场景还是k8s集群部署场景,数据库服务均需要单独进行部署。
获取data bus部署包
wget -O basepkg.tar.gz http://face-package.bj.bcebos.com/basepkg/basepkg-0720.tar.gz
部署流程
1、以root用户创建idl-face新用户
useradd idl-face
passwd 用户自定义
2、将获取到的安装包basepkg.tar.gz解压,里面有databus5535目录,将其移到: /home/idl-face/databus5535/ (目录固定,不能为其他目录)
mv ./databus5535 /home/idl-face/
3、创建一个给mysql用的日志目录 /var/log/mariadb,并赋为 777 权限,并对 /home/idl-face/databus5535/ 赋权
mkdir -p /var/log/mariadb
chmod 777 /var/log/mariadb -R
chown -R idl-face.idl-face /home/idl-face/databus5535/
4、切换到idl-face用户
su idl-face
5、进入databus5535目录
cd /home/idl-face/databus5535/bin/
6、启动服务
nohup ./mysqld_safe --defaults-file=../etc/my.cnf &
7、初始化数据库
cd /home/idl-face/databus5535/
bin/mysql -uroot -p'Bs~XIsDDv4XcDGCt)S(+4*yjQ&8NJh' --default-character-set=utf8 < sql/database_and_grant.sql
bin/mysql -uroot -p'Bs~XIsDDv4XcDGCt)S(+4*yjQ&8NJh' --default-character-set=utf8 < sql/face.sql
8、检查数据库是否启动成功
ps -ef | grep mysql
Step3:部署应用服务
3.1 应用单实例部署说明
1、获取部署包安装文件下载链接,下载部署包。
下载完成的文件示例如下:609859F08F4B4FB782948D669EE3CFE3.tar.gz;
2、执行以下命令解压部署包
tar zxvf 609859F08F4B4FB782948D669EE3CFE3.tar.gz
3、解压后进入original目录执行bash download.sh命令获取全部安装文件,执行脚本后会自动下载以下安装文件:鉴权服务安装包、人脸服务安装包以及docker安装包等基础依赖环境。
bash download.sh
4、将带有全部安装文件的original文件夹上传到待部署的服务器中。
5、进入以下文件路径;
cd original/package/Install
6、查看可用模块,
python install.py se
7、查看已安装模块;
python install.py li
8、人脸服务部署;
python install.py in face-server
9、安装过程中会自动进行环境检查,如果安装进程停住并提示"Environment checking failed! Please fix them before installation."表明环境检查失败,请先排查失败的环境检查项,再重新执行安装,或者输入continue强制继续安装;
10、环境检查通过后自动继续安装,按照提示输入数据库以及本地ip。
其中mysql server's ip请填写数据库服务所在机器的实际网络地址;
face license server‘s ip请填写鉴权服务所在机器的实际网络地址。
11、因为操作系统对标准输入的处理无法在输入mysql和license server的ip时使用退格键,退格键被显示为 ^ H
用ctrl+backspace即可进行退格操作
12、提示安装成功后,可检查服务是否启动
docker ps ;
13、如果服务没有启动,可以使用docker ps -a, 查看容器id;
人脸识别服务启动后,默认的http端口是8300
注意事项
1、docker初始后,内部程序初次部署需要2分钟;
2、docker启动后,禁止用docker attach 命令进入容器,需要使用docker exec -it (dockerid) /bin/bash 命令登入容器
3.2 应用多实例部署说明
1、该部署说明适用于单机多实例部署场景,如单机四卡四实例场景,每个实例均由单卡提供算力支持。
2、多机多实例部署场景即在多台机器上重复单机单实例或多机多实例的操作流程。
总体流程
结构图
部署步骤
1、获取部署包安装文件下载链接,下载部署包。
下载完成的文件示例如下:609859F08F4B4FB782948D669EE3CFE3.tar.gz;
2、执行以下命令解压部署包
tar zxvf 609859F08F4B4FB782948D669EE3CFE3.tar.gz
3、解压后进入original目录执行bash download.sh命令获取全部安装文件,执行脚本后会自动下载以下安装文件:鉴权服务安装包、人脸服务安装包以及docker安装包等基础依赖环境。
bash download.sh
4、将带有全部安装文件的original文件夹上传到待部署的服务器中。
5、进入以下文件路径;
cd original/package/Install
6、检查配置文件module.json中是否有要安装各模块的名称
7、安装模块
python install.py in face-server
8、接下来输入数据库ip以及授权服务ip;
其中mysql server's ip请填写数据库服务所在机器的实际网络地址;
face license server‘s ip请填写鉴权服务所在机器的实际网络地址。
9、因为操作系统对标准输入的处理无法在输入mysql和license server的ip时使用退格键,退格键被显示为^H
用ctrl+backspace即可进行退格操作
10、 进入project-conf目录
cd /home/baidu/work/face-server/project-conf
11、如果要启动多个实例,重复执行:
bash multi_docker_start.sh
注意:确认无误输入y,GPU id输入GPU序号(如 0)即可
12、查看启动的容器
docker ps
13、http端口
启动后,每个实例都会有一个对应的http端口通过docker ps -a 查看容器可看到端口。