hccl.json文件没有生成
问题描述
当启动一个训练任务后,训练任务容器内部hccl.json文件一致处于initializing状态(默认路径:“/user/serverid/devindex/config/hccl.json”)。
执行kubectl exec -it XXX bash 进入容器,若Pod不在default命名空间,则需要加-n XXX指明命名空间,如:kubectl exec -it XXX -n XXX bash。
原因
- 原因一:HCCL-Controller没有正常启动。
- 原因二:Ascend Device Plugin启动参数配置了“-volcanoType=false”。可通过如下命令确认。
ps -ef | grep "device-plugin"
- 原因三:Ascend Device Plugin没有正确获取到device ip导致无法写Pod的Annotations,可通过查看组件的日志确认。日志会出现如下内容。
Get device ip failed
解决方法
原因一:参考《MindCluster 集群调度用户指南》安装相关内容,重新安装HCCL-Controller。
原因二:参考《MindCluster 集群调度用户指南》,修改Ascend Device Plugin的启动参数“-volcanoType=true”之后再重新apply对应的yaml文件。
原因三:正确配置了device ip,请参见《CANN 软件安装指南》中“安装开发环境(训练) > 修改NPU卡IP地址”章节。