资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

安装部署问题排查


在私有化部署过程中遇到的部署相关问题,可以查看此文档进行解决。

若文档仍未解决您的问题,请提交工单联系百度的工作人员

FAQ

1.容器日志报错:cudaErrorNoDevice: no CUDA-capable device is detected at

查看/home/baidu/work/模型名称/start/start-1.sh文件中指定显卡ID的地方 是否是对的,显卡ID从序号0开始

2.'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)

image2020-12-14_16-48-18.png

机器系统环境编码有问题,PYTHONIOENCODING=utf-8 python install.py inall用这个命令安装就可以。

3.安装docker报错no such file or directory: ‘/etc/sysconfig/network-scripts/ifcfg-docker0’文件不存在

需要手动添加以下/etc/sysconfig/network-scripts/ifcfg-docker0这个文件,内容如下,然后重新执行安装

STP=no
TYPE=Bridge
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
IPADDR=172.17.0.1
PREFIX=16
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV4_DNS_PRIORITY=100
IPV6INIT=no
NAME=docker0
UUID=a519039a-27f3-40a0-b571-e2aefc39d20a
DEVICE=docker0
ONBOOT=yes
ZONE=trusted

4、安装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

5、nvidia-docker2 安装失败

如果当前服务器已经安装>17.06.2 版本的docker, 通过python2 install.py inallpython2 install.py in nvidia 安装nvidia-docker2 的话 一般会遇到与现有docker版本冲突的问题。

解决方案: 如果服务器可以联网的话,可以yum来在线安装

yum install -y nvidia-docker2

如果yum安装 nvidia-docker2 返回 no package nvidia-docker2 available,请使用如下方式解决:

distribution=$(source /etc/os-release;echo $ID$VERSION_ID) && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo

yum clean expire-cache 
yum install -y nvidia-docker2
systemctl restart docker

6、鉴权服务安装或启动失败,日志报错too many open files

原因:句柄数超出系统限制

首先查看当前全部进程占用句柄数总和:

lsof|awk '{print $2}'|wc -l

然后执行 ulimit -a 查看当前系统设置的最大句柄数是多少,如下图 open files即是最大句柄数设置

1301624-20191029110132330-1470883134.png

如果当前总和超过最大句柄限制,则修改最大句柄数即可

修改方法如下:

echo "* soft nofile 65536" >> /etc/security/limits.conf
echo "* hard nofile 65536" >> /etc/security/limits.conf

如果/etc/security/limits.conf里已经做过如上调整,修改其阈值即可。

退出当然用户,重新ssh登录使其生效。再次执行 ulimit -a验证是否生效

如果修改后,程序运行一段时间之后继续出现Too many open files异常,那么就应该查看句柄信息,进一步分析是什么句柄占用最多

cat lsof.log | awk '{print $8}' | sort | uniq -c | sort -rn | head -n 10

然后再进行分析,句柄问题解决后,重新安装或启动鉴权服务即可。

上一篇
运维手册
下一篇
鉴权服务排查