AWS ParallelCluster 计算节点无法正常启动
Posted
技术标签:
【中文标题】AWS ParallelCluster 计算节点无法正常启动【英文标题】:AWS ParallelCluster compute nodes failing to start properly 【发布时间】:2021-09-28 16:18:59 【问题描述】:我是一个新的 parallelCluster 2.11 用户,我遇到了一个问题,即我的计算节点无法正常启动,从而导致 pcluster create 最终失败。这是我的配置文件:
[aws]
aws_region_name = us-east-1
[aliases]
ssh = ssh CFN_USER@MASTER_IP ARGS
[global]
cluster_template = default
update_check = true
sanity_check = true
[cluster default]
key_name = <keypair>
scheduler = slurm
master_instance_type = c5n.2xlarge
base_os = centos7
vpc_settings = default
queue_settings = compute
master_root_volume_size = 1000
compute_root_volume_size = 35
[vpc default]
vpc_id = <my-default-vpc>
master_subnet_id = <my-subnetc>
compute_subnet_id = <my-subnetb>
use_public_ips = false
[queue compute]
enable_efa = true
compute_resource_settings = default
compute_type = ondemand
placement_group = DYNAMIC
disable_hyperthreading = true
[compute_resource default]
instance_type = c5n.18xlarge
initial_count = 1
min_count = 1
max_count = 32
[ebs shared]
shared_dir = shared
volume_type = st1
volume_size = 500
当我运行 pcluster create 时,大约 15 分钟后出现以下错误: 未能创建以下资源:
The following resource(s) failed to create: [MasterServer].
- AWS::EC2::Instance MasterServer Failed to receive 1 resource signal(s) within the specified duration
如果我在上述失败之前登录到主节点,我会在/var/log/parallelcluster/clustermgtd
日志文件中看到以下内容:
2021-09-28 15:42:41,168 - [slurm_plugin.clustermgtd:_maintain_nodes] - INFO - Found the following unhealthy static nodes: (x1) ['compute-st-c5n18xlarge-1(compute-st-c5n18xlarge-1)']
2021-09-28 15:42:41,168 - [slurm_plugin.clustermgtd:_handle_unhealthy_static_nodes] - INFO - Setting unhealthy static nodes to DOWN
然而,尽管将节点设置为 DOWN,ec2 计算实例仍继续保持在运行状态,并且上述日志不断发出以下消息:
2021-09-28 15:54:41,156 - [slurm_plugin.clustermgtd:_maintain_nodes] - INFO - Following nodes are currently in replacement: (x1) ['compute-st-c5n18xlarge-1']
此状态一直持续到 pcluster create 命令失败并出现上述错误。我怀疑我的配置有问题 - 任何帮助或进一步的故障排除建议将不胜感激。
【问题讨论】:
快速问题 - 我看到您有两个单独的子网用于头节点和计算节点。您能否确认两个子网能够通信?我认为您使用的是默认 VPC 和默认子网,它们应该允许通信,但最好排除网络。 @Angel Pizarro 这是一个网络问题。事实证明,您不能使用两个公共子网。您可以为计算节点使用私有子网,也可以将 assign-public-ips 设置为 true。一旦我这样做了,它就很好了! 很高兴它成功了! 【参考方案1】:你能在配置文件中不带 min_count 参数的情况下设置集群吗?即指示 parallelcluster 在没有计算节点启动的情况下创建集群。
【讨论】:
这允许并行集群成功完成创建,但是任何通过 slurm 运行的作业最终都会卡在 CF 状态,因为头节点无法与计算节点通信。【参考方案2】:我最初使用两个公共子网:一个用于头节点,一个用于计算节点。将计算节点切换到私有子网解决了这个问题。或者,不指定计算子网并将 assign_public_ips 设置为 true 也可以解决问题。
在这些步骤之后,计算节点成功启动,我能够通过 slurm 运行我的作业。
【讨论】:
以上是关于AWS ParallelCluster 计算节点无法正常启动的主要内容,如果未能解决你的问题,请参考以下文章
使用无服务器和 chrome-aws-lambda 节点包在 AWS Lambda 上找不到 Chrome 二进制文件
如何在无服务器框架或 AWS lambda 中启用节点 js 的实验性功能
AWS Aurora MySQL 无服务器:如何从 MySQL Workbench 连接
AWS Lambda&Fargate 无服务底层技术是如何实现的