EMR 提供可用于在集群实例上安装自定义软件的引导操作。要创建引导操作,需要安装引导脚本并在脚本中输入信息。脚本必须存储在可从 EMR 集群访问的 URI 上。有关 QueryGrid 组件的兼容性信息,请参阅 Teradata QueryGrid 兼容性列表。
所需的脚本 (TDQG_DEPLOYMENT.sh) 打包在节点包 tdqg-node-version.tar.gz 中。
此过程假定已具备以下先决条件:
- 您拥有配置 EMR 集群以及可从 EMR 集群访问的位置上存储的脚本所需的权限。
- 应在要安装 QueryGrid 的所有节点上安装了 cURL 工具。
请注意以下有关引导操作的注意事项:
- 只能在集群配置期间提供
- 在集群配置后无法修改
- 创建后始终保留,所有未来的 EMR 节点都将运行引导操作
- 添加一个系统,并将由 QueryGrid 管理器生成的 tdqg-node.json 令牌文件下载到 Teradata QueryGrid 服务中。有关下载 tdqg-node.json 的信息,请参阅手动添加节点。
- 执行以下操作之一:
选项 操作 在 AWS EMR 上安装 Teradata QueryGrid - 下载节点包。
有关更多信息,请参见下载必需的软件包。
- 解压缩包:
tar -xvzf tdqg-node-version.tar.gz
TDQG_DEPLOYMENT.sh 脚本在路径 qgdeployment/emr 中,名为 TDQG_DEPLOYMENT.sh。
- 将 QueryGrid 部署脚本上载到 AWS S3(或可从 EMR 集群访问的任何路径)。
- [可选] 要在创建 EMR 集群时将部署脚本添加为自定义引导操作,请选择高级选项。
- 在常规集群设置中,输入集群名称并启用日志记录。
- 转到配置。 ,然后选择
- 在
- 名称:输入引导操作的名称;例如,QueryGrid Deployment
- 脚本位置: 上文中步骤 c 所提及的 TDQG_DEPLOYMENT.sh 文件路径。例如:
s3://path_to_s3_folder/TDQG_DEPLOYMENT.sh
- 可选参数:可按下例所示提供:
--tdqg_node_json_file s3://<path_to_s3_folder>/tdqg-node.json
或以纯文本形式提供,如下例所示:--tdqg_node_json_file <tdqg_node_json as text>
EMR 不允许在文本输入中使用双引号。如果提供文本文件,请对双引号进行转义。由于配置集群后无法更新引导操作,因此 Teradata 建议将文件作为路径而不是文本提供。在纯文本中使用 JSON 的示例:
--tdqg_node_json_file "{\"systemId\":\"c2f3d9e2-0bb1-4707-aa82-847a5ca94735\",\"manager" ...igId\":\"d6613e25-3c9d-479a-b8a7-57aae994c826\"}"
- 选择添加,完成向导。
有关详细信息,请参阅https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-bootstrap.html。
在现有节点上安装 QueryGrid 要运行引导操作脚本,用户必须具有 sudo 权限。 - 在集群中的每个节点上运行 TDQG_DEPLOYMENT.sh。
在运行之前,请确保集群当前未处于活动状态。
- 键入 ./TDQG_DEPLOYMENT.sh -tdqg_node_json_file input,其中 input 可以是以下内容之一:
- tdqg_node_json_file 路径(Teradata 建议的方法)
- 完整的 tdqg_node_json 内容EMR 不允许在文本输入中使用双引号。如果提供文本文件,请对双引号进行转义。由于配置集群后无法更新引导操作,因此 Teradata 建议将文件作为路径而不是文本提供。
在新节点上安装 QueryGrid 新节点上的引导操作取决于配置 EMR 集群时运行 TDQG_DEPLOYMENT.sh 脚本的方式。 - 如果将脚本作为自定义引导操作运行,则脚本会自动在新节点上运行。
- 如果未将脚本作为自定义引导操作运行,请在新节点上运行脚本,就像在现有节点上安装脚本一样。
- 下载节点包。