

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

# 设置自定义 Amazon ParallelCluster 节点包
<a name="custom_node_package"></a>

**警告**  
以下是使用自定义版本的 Amazon ParallelCluster 节点包的说明。这是一种高级的自定义方法 Amazon ParallelCluster，可能存在难以调试的潜在问题。该 Amazon ParallelCluster 团队强烈建议使用[自定义 Bootstrap](pre_post_install.md) Actions 中的脚本进行自定义，因为安装后的挂钩通常更易于调试，而且在各个版本中也更易于移植。 Amazon ParallelCluster

## 步骤
<a name="package-steps"></a>

1. 确定克隆 Amazon ParallelCluster 节点代码的 Amazon ParallelCluster 节点工作目录。

   ```
   _nodeDir={{<path to node package>}}
   ```

1. 检测 Amazon ParallelCluster 节点的当前版本。

   ```
   _version=$(grep "version = \"" ${_nodeDir}/setup.py |awk '{print $3}' | tr -d \")
   ```

1. 创建该 Amazon ParallelCluster 节点的档案。

   ```
   cd "${_nodeDir}"
   _stashName=$(git stash create)
   git archive --format tar --prefix="aws-parallelcluster-node-${_version}/" "${_stashName:-HEAD}" | gzip > "aws-parallelcluster-node-${_version}.tgz"
   ```

1. 创建一个 Amazon S3 存储桶并将存档上传到该存储桶。通过公共读取 ACL 授予公共可读权限。

   ```
   _bucket={{<the bucket name>}}
   aws s3 cp --acl public-read aws-parallelcluster-node-${_version}.tgz s3://${_bucket}/node/aws-parallelcluster-node-${_version}.tgz
   ```

1. 将以下变量添加到 Amazon ParallelCluster 配置文件中的[`[cluster]`部分](cluster-definition.md)下。

   ```
   extra_json = { "cluster" : { "custom_node_package" : "https://${_bucket}.s3.{{<the bucket region>}}.amazonaws.com/node/aws-parallelcluster-node-${_version}.tgz", "skip_install_recipes" : "no" } }
   ```
**注意**  
从 Amazon ParallelCluster 版本 2.6.1 开始，启动节点时默认会跳过大多数安装配方，以缩短启动时间。要以牺牲向后兼容性为代价跳过大多数安装食谱以缩短启动时间，请从 [`extra_json`](cluster-definition.md#extra-json) 设置中的 `cluster` 键中删除 `"skip_install_recipes" : "no"`。