EMR 开发指南

引导操作

最近更新时间:2020-10-19 16:45:52

功能介绍

引导脚本操作是在生产集群的过程中执行自定义脚本,以便您修改集群环境、安装第三方软件和使用自有数据。

EMR 实例的生产流程分为以下几个步骤:

引导脚本操作支持在如下三个时机执行:

  • a 节点初始化后:在机器资源初始化之后和安装 EMR 集群软件之前。
  • b 集群启动前:在集群服务启动之前。
  • c 集群启动后:在集群服务启动之后。

引导操作会在集群创建和集群扩容时运行引导脚本,引导脚本按照脚本添加的顺序依次执行,引导操作累计不超过16个。

注意:

先创建按量付费的小集群测试引导操作是否成功,测试成功后再创建正式集群。

操作步骤

方法一:在 购买页 创建集群时添加引导操作。

  1. 选择【基础配置】>【高级设置】>【添加引导操作】,即可添加引导操作。
  2. 添加引导操作完成支持编辑与删除操作。
    • 选择运行时机,并填写相关参数。
    • 名称:建议与您的“对象名称”保持一致。
    • 脚本位置:建议从 COS 详情页进行复制。进入 COS 控制台,单击【存储桶列表】,选择您需要的脚本,然后选择【操作】>【详情】。

      在详情页,即可看到“对象名称”和“对象地址”。
    • SecretID 和 SecretKEY:从 COS 的 API 密钥管理页面获取。进入 COS 控制台,选择【密钥管理】>【云 API 密钥】。

      进入【API密钥管理】页,如果已有 SecretID 和 SecretKEY 则可以直接使用,如果没有则单击【新建密钥】生成。
    • 参数:执行脚本的参数。不同的参数以空格分割,参数中不能有空格,“参数”和“脚本名”之和小于240个字符。

方法二:在集群【基本信息】页添加引导操作

  1. 登录 EMR 控制台,在【集群列表】中单击对应的集群【ID/名称】进入集群详情页。然后选择【基本信息】>【引导操作】,单击【添加引导操作】,即可添加引导操作。
  2. 添加引导操作完成支持编辑与删除操作。
    • 选择运行时机,并填写相关参数。
    • 名称:建议与您的“对象名称”保持一致。
    • 脚本位置:建议从 COS 详情页进行复制。进入 COS 控制台,单击【存储桶列表】,选择您需要的脚本,然后选择【操作】>【详情】。

      在详情页,即可看到“对象名称”和“对象地址”。
    • SecretID 和 SecretKEY:从 COS 的 API 密钥管理页面获取。进入 COS 控制台,选择【密钥管理】>【云 API 密钥】。

      进入【API密钥管理】页,如果已有 SecretID 和 SecretKEY 则可以直接使用,如果没有则单击【新建密钥】生成。
    • 参数:执行脚本的参数。不同的参数以空格分割,参数中不能有空格,“参数”和“脚本名”之和小于240个字符。

查看引导结果

目前控制台不支持扩容时指定引导操作,扩容时默认执行创建时指定的引导操作。

您可以使用 API 扩容指定引导操作。如果扩容时指定了引导操作,则执行您指定的引导操作;若未指定,则执行创建时候的引导操作。

日志和执行的脚本文件保存都放到/usr/local/service/scripts/这目录下,脚本的系统日志是 script_syslog。

  • 命名规则为:“执行顺序” + “_” +“运行时机”+ “脚本名”+“_”+stderr。
  • 命名规则为:“执行顺序” + “_” + “运行时机”+“脚本名”+“_”+stdout。
注意:

  • 所有的节点类型都会执行,同时在每个节点上保存脚本文件和执行脚本的输出 log 文件。
  • 引导脚本内容需使用 utf8 编码。
目录