开发者学堂课程【批量云资源管理与自动化运维:通过资源编排批量部署 Hadoop 开发环境】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/512/detail/6841
通过资源编排批量部署 Hadoop 开发环境
目录
一、模板语法
二、实验:批量部署 Hadoop 环境
三、启动栈
一、模板语法
上节课主要讲 ROS 的基础知识和如何用模板堆栈,此节课简单创建模板语法主要讲 Hadoop 部署实验。
模板是一个 JSON 格式的文本文件,使用 UTF8 编码模式。模板用于创建资源栈,是描述基础设施和架构的蓝图,ROS 的开发者在模板中定义阿里云资源的生产和配置细节,并说明资源间的依赖关系。
模板主要由八个顶级字段定义,ROS 模板版本号是必选项,其余是可选项。因为创建的资源是不固定的,模板是可变、可控的,7个可选的顶级字段也许会在一个模板内出现,也许出现多次,也有可能不出现。模板版本号是肯定要选择的,不管什么模板都用模板版本号。顶级字段的定义和具体的参数环境可通过阿里云官方网站了解,涉及到开发接口和资源配置问题。
二、实验:批量部署 Hadoop 环境
进入管理控制台后选择资源编排服务,左侧有模板样例,选择 Hadoop 分布式开发环境样例
ROS 服务内拥有强大、完善的模板功能。几乎涵盖了所有可创建的功能服务。几乎所有已经定义过的模板可以满足绝大多数用户的需求,不需要自定义设定基础环境,用模板做添加修改即可,配置和脚本上都不需做过多的操作。任何自定义的操作都可以基于源模板进行改造。本次实验就是基于源模板,部署目前应用最广泛的 Hadoop 的分布式开发环境。
创建栈堆栈启动栈时模板的参数设定,打开模板后,可以发现一些顶级字段。一共8个此模板用了5个。必选项 ROS 版本号,是每个模板都有。
"Description"
定义模板的解释说明包括一个安全组,用户只需要指定 imageld
"Parameters":{}
定义模板的一些参数,本例中定义了镜像 ID 的参数,实例规格的参数,并指定了默认值。
"Resources":{}
定义这个模板将要创建的阿里云资源,本例中申明将要创建一个 ECS 实例和一个安全组:这里申明的资源属性可以引用 Parameters 中定义的参数。
"Outputs":{}
定义资源创建完成后,通过 ROS 的栈输出资源信息。本例中,输出什么 ECS、实例的 ID、VPC 网段、公网 IP 和安全组 ID。
启动栈
选择 region 后有一些重点项要填,有一定定义格式。自定义一个堆栈名称,栈名可自定义,可以用大小写字母、下划线、中划线但不可以用符号。创建超时建议60分钟,失败回滚建议勾选。
Imagedid 填入 centos_7 系统自动拉取最新版的 centos, 阿里云上存在的最新版centos7.4 版本。VpcName 可以是中文可以是英文,没有明显规定内容。其余都是默认项,JavaHome 实验使用相对稳定版本jdk1.8版本。Hadoop 使用相对稳定版本2.7.1版本。
Zoneid 参考阿里云文档,选择的 region 不一样,选择的 Zoneid 也不一样。华北2为例北京,一共5个可用区,Zoneid 是 cn-北京 -a-1。
虚拟交换机 VSwitch 网段要参考 Vpc 网段设定,如果选择192网段,前面也是192。
InstanceType 实例规格,选择云盘的规格比如 ssd 高效的、普通的。
实例名称可以自定义,中英文都可以。此名称是创建完 ECS 后打标签的名称,定义出是哪个名字。
InstancePassword,创建 ECS 时密码要有大写小写字母、符号、数字组成。此模板下的 InstancePassword 不可以使用符号,只可以使用字母大小写加数字。
创建完成后返回到资源管理栈可以看到栈参数,显示的栈参数是创建成功后创建了哪些东西、什么规格、什么内容、在哪里。如果想修改可以用更新更改模板,从新做编排或做强化。