安装部署问题排查
在私有化部署过程中遇到的部署相关问题,可以查看此文档进行解决。
若文档仍未解决您的问题,请提交工单联系百度的工作人员
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)
机器系统环境编码有问题,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 inall
或 python2 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即是最大句柄数设置
如果当前总和超过最大句柄限制,则修改最大句柄数即可
修改方法如下:
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
然后再进行分析,句柄问题解决后,重新安装或启动鉴权服务即可。