添加引导操作,可以安装您需要的第三方软件或者修改集群运行环境。本文为您介绍如何添加、编辑、克隆和删除引导操作。
背景信息
通过引导操作,您可以完成很多目前E-MapReduce集群尚未支持的操作,例如:
- 使用Yum安装已经提供的软件。
- 直接下载公网上的一些公开的软件。
- 读取OSS中您的自有数据。
- 安装并运行一个服务,例如Flink或者Impala。
使用限制
- 您最多可以添加10个引导操作。引导操作会按照您指定的顺序执行。
- 您指定的脚本默认使用root账户执行,您也可以在脚本中使用su hadoop命令,切换为hadoop用户执行。
- 本文仅适用于旧版控制台的Hadoop集群。
添加引导操作
添加引导操作支持以下两种方式:
- 方式一:创建集群时添加引导操作
- 进入集群管理页面。
- 登录阿里云E-MapReduce控制台。
- 在顶部菜单栏处,根据实际情况选择地域和资源组。
- 单击上方的集群管理页签。
- 单击右上角的创建集群。
- 在基础配置的高级设置区域,单击引导操作所在行的添加。
- 在添加引导操作对话框中,填写配置项。
参数 描述 名称 引导操作的名称。 脚本位置 选择脚本所在OSS的位置。 脚本路径格式必须为oss://**/*.sh格式。
参数 引导操作脚本的参数,指定脚本中所引用的变量的值。 执行范围 - 集群:此引导操作适用于整个集群。
- 机器组:此引导操作适用于您选择的机器组。
您可以选择主实例、核心实例组或者已有的机器组。
执行时间 - 组件启动前:组件启动前执行该脚本。
- 组件启动后:组件启动后执行该脚本。
执行失败策略 - 继续执行:如果该脚本执行失败,继续执行下一个脚本。
- 停止执行:如果该脚本执行失败,停止当前脚本。
- 单击确定。引导操作示例请参见示例。说明 引导操作可能会执行失败,但引导操作失败并不会影响集群的创建。
集群创建成功后,您可以在集群基础信息页面,查看引导操作/软件配置是否有异常发生。如果有异常,您可以登录到各个节点上查看运行日志,运行日志在/var/log/bootstrap-actions目录下。
- 进入集群管理页面。
- 方式二:创建集群后添加引导操作
- 进入引导操作页面。
- 登录阿里云E-MapReduce控制台。
- 在顶部菜单栏处,根据实际情况选择地域和资源组。
- 单击上方的集群管理页签。
- 在集群管理页面,单击相应集群所在行的详情。
- 在左侧导航栏,单击引导操作。
- 在引导操作页面,单击添加引导操作。
- 在添加引导操作对话框中,填写配置项。
参数 描述 名称 引导操作的名称。 脚本位置 选择脚本所在OSS的位置。 脚本路径格式必须为oss://**/*.sh格式。
参数 引导操作脚本的参数,指定脚本中所引用的变量的值。 执行范围 - 集群:此引导操作适用于整个集群。
- 机器组:此引导操作适用于您选择的机器组。
您可以选择主实例、核心实例组或者已有的机器组。
执行时间 - 组件启动前:组件启动前执行该脚本。
- 组件启动后:组件启动后执行该脚本。
执行失败策略 - 继续执行:如果该脚本执行失败,继续执行下一个脚本。
- 停止执行:如果该脚本执行失败,停止当前脚本。
- 单击确定。
引导操作示例请参见示例。
- 进入引导操作页面。
编辑引导操作
- 进入引导操作页面。
- 登录阿里云E-MapReduce控制台。
- 在顶部菜单栏处,根据实际情况选择地域和资源组。
- 单击上方的集群管理页签。
- 在集群管理页面,单击相应集群所在行的详情。
- 在左侧导航栏,单击引导操作。
- 在引导操作页面,单击待编辑引导操作所在行的编辑。
- 在编辑引导操作对话框中,您可以根据需求修改所有配置项。
- 单击确定。
克隆引导操作
- 进入引导操作页面。
- 登录阿里云E-MapReduce控制台。
- 在顶部菜单栏处,根据实际情况选择地域和资源组。
- 单击上方的集群管理页签。
- 在集群管理页面,单击相应集群所在行的详情。
- 在左侧导航栏,单击引导操作。
- 在引导操作页面,单击待克隆引导操作所在行的克隆。
- 在克隆引导操作对话框中,您可以根据需求修改所有配置项。
- 单击确定。
删除引导操作
- 进入引导操作页面。
- 登录阿里云E-MapReduce控制台。
- 在顶部菜单栏处,根据实际情况选择地域和资源组。
- 单击上方的集群管理页签。
- 在集群管理页面,单击相应集群所在行的详情。
- 在左侧导航栏,单击引导操作。
- 在引导操作页面,单击待删除引导操作所在行的删除。
- 在删除引导操作对话框中,单击确认。
示例
引导操作需要指定引导操作的名称和执行脚本在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