

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 排除 PCS 中的 Slurm CLI 过滤器插件问题 AWS
<a name="slurm-cli-filter-plugins-troubleshooting"></a>

使用此疑难解答信息来解决常见的 CLI 过滤器插件问题。

**由于插件加载错误，Job 提交立即失败**  
**症状：**提交作业时，用户会收到有关 CLI 过滤器插件丢失或失败的错误消息。  
**可能的原因：**  
+ 一个或多个节点缺少 CLI 筛选插件脚本
+ 脚本文件名不正确（必须完全正确`cli_filter.lua`）
+ 脚本部署到错误的目录路径
+ 脚本的文件权限不正确
**解决方法：**  
+ 验证所有登录节点和计算节点`/etc/aws/pcs/scheduler/slurm-<version>/cli_filter.lua`上是否存在脚本
+ 检查脚本文件名是否正确 `cli_filter.lua`
+ 确保脚本具有可读权限（644 或类似权限）
+ 在部署到完整集群之前，在单个登录节点上测试脚本部署

**集群创建失败，出现 CLI 筛选插件验证错误**  
**症状：**集群创建失败，错误提示`CliFilterPlugins`参数无效。  
**可能的原因：**  
+ 中的参数值格式不正确 `slurmCustomSettings`
+ 参数名称或值中有错字
**解决方法：**  
+ 使用确切的参数名称：`CliFilterPlugins`
+ 使用精确的参数值：`cli_filter/lua`
+ 验证`slurmCustomSettings`数组中的 JSON 语法

**CLI 筛选插件脚本已执行，但作业验证无法按预期运行**  
**症状：**作业成功提交，但自定义验证逻辑不会触发或产生意外结果。  
**可能的原因：**  
+ Lua 脚本语法错误
+ 字段访问模式不正确（使用 Job Submit 插件语法而不是 CLI 筛选插件）
+ 验证条件中的逻辑错误
**解决方法：**  
+ 查看 Lua 脚本是否存在语法错误
+ 验证字段访问权限使用`options["field_name"]`格式而不是 `job_desc.field_name`
+ 向调试脚本执行流程添加日志语句
+ 先用简单的验证案例测试脚本逻辑

**S3 脚本部署失败**  
**症状：**实例启动但未从 S3 下载 CLI 筛选器插件脚本。  
**可能的原因：**  
+ IAM 实例配置文件缺少 S3 读取权限
+ 未配置 S3 VPC 终端节点
+ 用户数据中的 S3 存储桶或对象路径不正确
**解决方法：**  
+ 验证 IAM 实例配置文件是否`s3:GetObject`有权访问您的存储桶
+ 配置 S3 VPC 网关终端节点以实现直接访问
+ 在用户数据脚本中检查 S3 存储桶名称和对象路径
+ 查看实例用户数据日志，查看 S3 下载错误