添加引导操作,可以安装您需要的第三方软件或者修改集群运行环境。本文为您介绍如何添加、编辑、克隆和删除引导操作。

背景信息

通过引导操作,您可以完成很多目前E-MapReduce集群尚未支持的操作,例如:
  • 使用Yum安装已经提供的软件。
  • 直接下载公网上的一些公开的软件。
  • 读取OSS中您的自有数据。
  • 安装并运行一个服务,例如Flink或者Impala。

使用限制

  • 您最多可以添加10个引导操作。引导操作会按照您指定的顺序执行。
  • 您指定的脚本默认使用root账户执行,您也可以在脚本中使用su hadoop命令,切换为hadoop用户执行。

添加引导操作

添加引导操作支持以下两种方式:
  • 方式一:创建集群时添加引导操作
    1. 进入集群管理页面。
      1. 登录阿里云E-MapReduce控制台
      2. 在顶部菜单栏处,根据实际情况选择地域和资源组
      3. 单击上方的集群管理页签。
    2. 单击右上角的创建集群
    3. 基础配置高级设置区域,单击引导操作所在行的添加
    4. 添加引导操作对话框中,填写配置项。
      参数 描述
      名称 引导操作的名称。
      脚本位置 选择脚本所在OSS的位置。

      脚本路径格式必须为oss://**/*.sh格式。

      参数 引导操作脚本的参数,指定脚本中所引用的变量的值。
      执行范围
      • 集群:此引导操作适用于整个集群。
      • 机器组:此引导操作适用于您选择的机器组。

        您可以选择主实例、核心实例组或者已有的机器组。

      执行时间
      • 组件启动前:组件启动前执行该脚本。
      • 组件启动后:组件启动后执行该脚本。
      执行失败策略
      • 继续执行:如果该脚本执行失败,继续执行下一个脚本。
      • 停止执行:如果该脚本执行失败,停止当前脚本。
    5. 单击确定
      引导操作示例请参见示例
      说明 引导操作可能会执行失败,但引导操作失败并不会影响集群的创建。

      集群创建成功后,您可以在集群基础信息页面,查看引导操作/软件配置是否有异常发生。如果有异常,您可以登录到各个节点上查看运行日志,运行日志在/var/log/bootstrap-actions目录下。

  • 方式二:创建集群后添加引导操作
    1. 进入引导操作页面。
      1. 登录阿里云E-MapReduce控制台
      2. 在顶部菜单栏处,根据实际情况选择地域和资源组
      3. 单击上方的集群管理页签。
      4. 在左侧导航栏,单击引导操作
    2. 引导操作页面,单击添加引导操作
    3. 添加引导操作对话框中,填写配置项。
      参数 描述
      名称 引导操作的名称。
      脚本位置 选择脚本所在OSS的位置。

      脚本路径格式必须为oss://**/*.sh格式。

      参数 引导操作脚本的参数,指定脚本中所引用的变量的值。
      执行范围
      • 集群:此引导操作适用于整个集群。
      • 机器组:此引导操作适用于您选择的机器组。

        您可以选择主实例、核心实例组或者已有的机器组。

      执行时间
      • 组件启动前:组件启动前执行该脚本。
      • 组件启动后:组件启动后执行该脚本。
      执行失败策略
      • 继续执行:如果该脚本执行失败,继续执行下一个脚本。
      • 停止执行:如果该脚本执行失败,停止当前脚本。
    4. 单击确定

      引导操作示例请参见示例

编辑引导操作

  1. 进入引导操作页面。
    1. 登录阿里云E-MapReduce控制台
    2. 在顶部菜单栏处,根据实际情况选择地域和资源组
    3. 单击上方的集群管理页签。
    4. 在左侧导航栏,单击引导操作
  2. 引导操作页面,单击待编辑引导操作所在行的编辑
  3. 编辑引导操作对话框中,您可以根据需求修改所有配置项。
  4. 单击确定

克隆引导操作

  1. 进入引导操作页面。
    1. 登录阿里云E-MapReduce控制台
    2. 在顶部菜单栏处,根据实际情况选择地域和资源组
    3. 单击上方的集群管理页签。
    4. 在左侧导航栏,单击引导操作
  2. 引导操作页面,单击待克隆引导操作所在行的克隆
  3. 克隆引导操作对话框中,您可以根据需求修改所有配置项。
  4. 单击确定

删除引导操作

  1. 进入引导操作页面。
    1. 登录阿里云E-MapReduce控制台
    2. 在顶部菜单栏处,根据实际情况选择地域和资源组
    3. 单击上方的集群管理页签。
    4. 在左侧导航栏,单击引导操作
  2. 引导操作页面,单击待删除引导操作所在行的删除
  3. 删除引导操作对话框中,单击确认

示例

引导操作需要指定引导操作的名称和执行脚本在OSS上的位置,根据需要指定脚本的参数。执行引导操作时各个节点会下载您指定的OSS脚本,直接执行或者附加上可选参数执行。引导操作示例如下:
  • 示例1
    您可以在脚本中指定需要从OSS下载的文件。例如,添加以下脚本,将oss://<yourbucket>/<myfile>.tar.gz文件下载到本地,并解压到/<yourdir>目录下:
    注意 OSS地址有内网地址、外网地址和VPC网络地址之分。如果用经典网络,需要指定内网地址,例如杭州是oss-cn-hangzhou-internal.aliyuncs.com。如果用VPC网络,要指定VPC内网可访问的域名,例如杭州是vpc100-oss-cn-hangzhou.aliyuncs.com
    #!/bin/bash
    osscmd --id=<yourid> --key=<yourkey> --host=oss-cn-hangzhou-internal.aliyuncs.com get oss://<yourbucket>/<myfile>.tar.gz ./<myfile>.tar.gz
    mkdir -p /<yourdir>
    tar -zxvf <myfile>.tar.gz -C /<yourdir>
  • 示例2
    您可以通过Yum安装额外的系统软件包,例如安装ld-linux.so.2
    #!/bin/bash
    yum install -y ld-linux.so.2