我们已经准备好了,你呢?

2023我们与您携手共赢,为您的企业形象保驾护航!


喜讯:国内、香港、海外云服务器租用特惠活动,2核/4G/10M仅需31元每月,点击抢购>>>

点击这里点击这里申请百度智能云特邀VIP帐号,立即体验人脸识别>>>

百度人脸识别使用指南-私有化部署安装部署问题

在私有化部署过程中遇到的部署相关问题,可以查看此文档进行解决。
若文档仍未解决您的问题,请提交工单联系百度的工作人员

单机部署问题

安装[人脸数据库服务]

1、数据库连接失败,报错: Can't connect to local Mysql server through socket '/home/dil-face/databus5535/tmp/mysql.sock'

图片.png

解决方案:

1)终止databus进程:

ps j -A |grep databus5535|grep -v "grep" 终止databus相关进程及其父进程
终止后请再次执行 ps j -A |grep databus5535|grep -v "grep" 核实,确保进程杀干净

2)卸载databus

# 删除idl-face用户及其家目录,用于清理mysql底层数据 userdel -r idl-face

3)修改启动脚本

进入部署包内 original/package/Applications/face-server/project-conf/ # 通过sed命令将sleep 40s替换为sleep 140s sed -i 's/sleep 40s/sleep 140s/g' mysql_start.sh

修改后如下图所示:

图片.png

4)重新部署数据库服务

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

2、数据库服务无法自动部署,如何进行手动部署并设置服务开机自动启动?

(1)首先以root用户创建idl-face新用户

useradd idl-face
passwd 用户自定义

(2)解压original/package/Applications/face-server目录下的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

(9)将数据库启动加入开机启动

vim /etc/rc.local
加入bash /home/idl-face/databus5535/sh/mysql_boot.sh

(10)将idl-face用户禁用登录 (非常重要)

执行完成安装后,请一定要将idl-face用户禁用登录
方法:
1、切换到root用户
2、usermod -s /sbin/nologin idl-face

3、安装数据库报错error while loading shared libraries :libncurses.so.5……

报错为缺少对应的libncurses.so.5
可以yum install  libncurses.so.5或者yum install  libncurses.so.*进行安装
之后ps -ef | grep mysql 查看数据库进程id  kill掉
再执行userdel -r idl-face 将对应用户及文件删除
之后执行一键部署脚本或者手动部署即可

一键鉴权和人脸服务

在一键安装鉴权服务和人脸识别服务过程中主要会出现以下几类问题,大家可以根据实际部署中遇到的问题进行排查解决。

(一)检查服务器环境

  1. 请保证8443端口(鉴权服务端口)不被占用

  2. CPU支持AVX/AVX2以及BMI2指令集(12年后的CPU基本都支持)

环境检查问题及解决方案

类型描述解决方案
CPU内存环境检查要求≥32GB,实际不满足要求百万级人脸库内存>16GB,执行continue命令即可
CPU指令集检查环境检查结果显示当前系统不支持avx/avx2指令集以及bmi2指令集需要更换硬件为可以支持avx/avx2指令集以及bmi2指令集的CPU
硬件环境检查要求≥500GB,实际不满足要求百万级人脸库硬盘≥100GB,执行continue命令即可
显卡检查环境检查结果显示检查不到显卡执行nvidia-smi确认显卡存在,执行continue命令即可
显卡驱动检查环境检查结果显示显卡驱动不符合要求卸载掉自己安装的显卡驱动,重新执行一键安装部署命令(一键安装过程中会安装驱动等环境,不建议客户自己安装驱动,驱动版本容易与人脸模型不兼容)


(二)安装Docker

1.Docker安装过程中发生冲突

Docker需要使用从百度下载的安装部署包中的Docker,如果您本地已有Docker,需要确认Docker是否可以卸载。(如果Docker中已经装了服务就先保存下来移植到新建的部署包中的Docker中)

2.docker启动失败, Failed to program NAT chain: ZONE_CONFLICT: 'docker0' already bound to a zone

问题现象:

通过journalctl -u docker --no-pager 命令发现发现docker报错

failed to start daemon: Error initializing network controller: Error creating  
default "bridge" network: Failed to program NAT chain: ZONE_CONFLICT: 'docker0'
already bound to a zone

解决方案:

该报错是因为防火墙的区域冲突,导致创建虚拟网络失败。解决方案如下:

firewall-cmd --zone=trusted --remove-interface=docker0 
firewall-cmd --reload
  1. 部署过程中docker出现no space left on device的报错

请参考 修改docker的默认存储路径

  1. 安装docker-ce,依赖包冲突

出现需要安装依赖的版本比系统自带版本低的情况,导致安装失败,详细报错如下

--> 解决依赖关系完成
错误:软件包:libsemanage-python-2.5-8.el7.x86_64 (Local_yum) 需要:libsemanage = 2.5-8.el7
          已安装: libsemanage-2.5-14.el7.x86_64 (@anaconda) libsemanage = 2.5-14.el7
          可用: libsemanage-2.5-8.el7.x86_64 (Local_yum) libsemanage = 2.5-8.el7
错误:软件包:audit-libs-python-2.7.6-3.el7.x86_64 (Local_yum) 需要:audit-libs(x86-64) = 2.7.6-3.el7
          已安装: audit-libs-2.8.5-4.el7.x86_64 (@anaconda) audit-libs(x86-64) = 2.8.5-4.el7
          可用: audit-libs-2.7.6-3.el7.x86_64 (Local_yum) audit-libs(x86-64) = 2.7.6-3.el7
错误:软件包:policycoreutils-python-2.5-17.1.el7.x86_64 (Local_yum) 需要:policycoreutils = 2.5-17.1.el7
          已安装: policycoreutils-2.5-34.el7.x86_64 (@anaconda) policycoreutils = 2.5-34.el7
          可用: policycoreutils-2.5-17.1.el7.x86_64 (Local_yum) policycoreutils = 2.5-17.1.el7
 您可以尝试添加 --skip-broken 选项来解决该问题
 您可以尝试执行:rpm -Va --nofiles --nodigest 2021-10-21 13:58:19,993 - 7100 - install - INFO - subprocess finished,cmd : ['yum', 'install', '-y', 'docker-ce']

解决方案: 服务器联网条件下,则可以通过在线安装解决。

yum -y install docker-ce

如果yum安装 docker-ce 返回 no package docker-ce available,请使用如下方法解决:

# 安装yum管理工具 yum install -y yum-utils # yum添加软件源 yum-config-manager  --add-repo  https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo # 刷新缓存 yum makecache fast # 安装docker-ce yum install docker-ce

(三)安装Nvidia驱动

  1. 安装nvidia驱动报错 unable to find the kernel source tree for the currently running kernel

问题现象:

执行 python install.py install nvidia 报错如下图 accd80f43c4770145154c8a08146c2f2.png

解决方案:

  1. 安装与内核版本对应的kernel-devel ,可在线安装:

yum install "kernel-devel-uname-r == $(uname -r)"

2)安装的时候在安装命令后面加上内核文件所在目录:

python install.py in nvidia --kernel-source-path=/usr/src/kernels/内核文件目录
  1. 如果在线安装找不到包,可以访问 http://rpm.pbone.net/ 通过关键词搜索,选择与 uname -r返回的内核版本一致的rpm包进行下载,安装方式

# 假如 uname -r 返回 3.10.0-1160.59.1.el7.x86_64 # 可下载对应的rpm包 kernel-devel-3.10.0-1160.59.1.el7.x86_64.rpm 进行安装 yum -y install kernel-devel-3.10.0-1160.59.1.el7.x86_64.rpm # 重新安装nvidia驱动 python install.py in nvidia --kernel-source-path=/usr/src/kernels/3.10.0-1160.59.1.el7.x86_64

推荐:TOP云智能建站优惠活动,仅880元即可搭建一个后台管理五端合一的智能网站(PC网站、手机网站、百度智能小程序、微信小程序、支付宝小程序),独享百度搜索SEO优势资源,让你的网站不仅有颜值有排面,更有排名,可以实实在在为您带来效益,请点击进入TOP云智能建站>>>,或咨询在线客服了解详情。



我们已经准备好了,你呢?

2023我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

131-3501-0006

上班时间

周一到周五

公司电话

130-0743-9476

二维码
线