集群创建完成后(特别是包年包月集群),您可以通过集群脚本功能批量选择节点来运行指定脚本,以实现个性化需求。例如,安装第三方软件和修改集群运行环境。
背景信息
- 使用YUM安装已经提供的软件。
- 直接下载公网上公开的软件。
- 读取您OSS中的自有数据。
- 安装并运行服务(例如,Flink或者Impala),但需要编写的脚本会复杂些。
使用集群脚本
一个集群同一时间只能运行一个集群脚本,如果有正在运行的集群脚本,则无法再提交执行新的集群脚本。每个集群最多保留10个集群脚本记录,如果超过10个,则需要您将之前的记录删除才能创建新的集群脚本。
集群脚本可能在部分节点上运行成功,部分节点上运行失败。例如节点重启导致脚本运行失败。在解决异常问题后,您可以单独指定失败的节点再次运行。当集群扩容后,您也可以指定扩容的节点单独运行集群脚本。
集群脚本会在您指定的节点上下载OSS上的脚本并运行,如果运行状态是失败,则您可以登录到各个节点上查看运行日志,运行日志存储在每个节点的/var/log/cluster-scripts/clusterScriptId目录下。如果集群配置了OSS日志目录,运行日志也会上传到osslogpath/clusterId/ip/cluster-scripts/clusterScriptId目录。
示例
与引导操作的脚本相似,您可以在集群脚本中指定需要从OSS下载的文件,以下示例下载oss://yourbucket/myfile.tar.gz文件到本地,并解压到/yourdir目录下。
#!/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>
说明 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账户。
在文档使用中是否遇到以下问题
更多建议
匿名提交