集群创建完成后,您可以通过手动执行脚本功能批量选择节点来运行指定脚本,以实现个性化需求。本文为您介绍如何添加手动执行脚本。
背景信息
手动执行脚本可以批量选择在已有节点上立即运行指定脚本。手动执行功能适用于长期存在的集群,对按需创建的临时集群,应使用引导操作来完成集群初始化工作。引导操作详情,请参见引导操作执行脚本。
手动执行类似引导操作,在集群创建完成后,您可以通过手动执行功能来安装集群尚未支持的软件和服务,例如:
使用YUM安装已经提供的软件。
直接下载公网上公开的软件。
读取您OSS中的自有数据。
安装并运行服务(例如,pig组件等),但需要编写的脚本会复杂些。
前提条件
注意事项
手动执行脚本的记录最多保留60天。
一个集群同一时间只能运行一个集群脚本,如果有正在运行的集群脚本,则无法再提交执行新的集群脚本。
每个集群最多保留10个集群脚本记录,如果超过10个,则需要您将之前的记录删除才能创建新的集群脚本。
集群脚本可能在部分节点上运行成功,部分节点上运行失败。例如,节点重启导致脚本运行失败。在解决异常问题后,您可以单独指定失败的节点再次运行。当集群扩容后,您也可以指定扩容的节点单独运行集群脚本。
操作步骤
进入脚本操作页面。
在顶部菜单栏处,根据实际情况选择地域和资源组。
单击目标集群的集群服务。
单击上方的脚本操作页签。
在脚本操作页面,单击上方的手动执行页签。
单击创建并执行。
在弹出的对话框中,输入名称,在脚本位置下拉列表中选择脚本位置,选中执行节点,还可以输入自定义参数。
说明在使用集群脚本功能时,强烈建议您先在单个节点对集群脚本进行测试,待测试全部正常后,再在整个集群上操作。
脚本路径格式必须是oss://**/*.sh格式。
完成上述参数配置后,单击确定。
集群脚本创建完成后,会显示在集群脚本列表中,并且脚本处于运行状态。脚本状态包括运行中、运行完成和提交失败。
单击操作列的详情,可以查看手动执行脚本的详情。
单击手动执行脚本右侧的查看执行结果可以查看脚本执行情况。
脚本对应节点的状态包括等待中、运行中、完成、失败、提交失败和取消。
单击操作列的删除,可以删除手动执行脚本。
示例
与引导操作的脚本相似,您可以在集群脚本中指定需要从OSS下载的文件。下载示例文件oss://<yourBucket>/<myFile>.tar.gz到本地,并解压到/yourDir目录下。
#!/bin/bash
osscmd --id=<yourAccessKeyId> --key=<yourAccessKeySecret> --host=oss-cn-hangzhou-internal.aliyuncs.com get oss://<yourBucketName>/<yourFile>.tar.gz ./<yourFile>.tar.gz
mkdir -p /<yourDir>
tar -zxvf <yourFile>.tar.gz -C /<yourDir>
OSS地址有内网地址、外网地址和VPC网络地址之分。如果是经典网络,则需要指定内网地址(例如,杭州是oss-cn-hangzhou-internal.aliyuncs.com)。如果是VPC网络,则需要指定VPC内网可以访问的域名(例如,杭州是vpc100-oss-cn-hangzhou.aliyuncs.com)。
集群脚本也可以通过YUM安装额外的系统软件包。例如安装ld-linux.so.2。
#!/bin/bash
yum install -y ld-linux.so.2
集群默认使用root用户来执行您指定的脚本。您也可以在脚本中使用su hadoop
切换到hadoop账户。