通过批量云资源编排批量部署Hadoop环境实现自动化运维

2019-04-2616:19:24 评论 4,401

一、实验简介

1、背景介绍

nico是一家老牌网络与运维托管服务公司。日常业务线就是做大型企业的外包服务,及IDC线下托管服务。当接到大批量部署业务的时候都是采用Ansible自动化工具,但是由于人员经常变动,每次新人入职后针对Ansible工具的培训既费时又耗力,大大缩短了业务量,提高了企业成本。2017年开始接触阿里云,针对资源部署及配置方面有了明显的改善。传统企业慢慢开始上云,业务窗口也更加多元化。但是针对大型企业的部署实施,还是需要有专业人员的培训及演练。就算是相比之前有了明显的效率提高,但搭建一个hadoop环境也至少需要2天的时间。自从阿里云推出ROS服务之后,公司每次针对大规模部署任务及配置任务都采用此服务进行作业,大大提高了工作效率。曾经因为选配、等待、链接的耗时都可以省去,从2小时部署hadoop提高到了10分钟部署完成!

2、ROS介绍

ROS服务内拥有强大、完善的模板功能。几乎涵盖了所有可创建的功能服务。任何自定义的操作都可以基于源模板进行改造。本次实验就是基于源模板,部署目前应用最广泛的Hadoop的分布式开发环境。按照“创建⇨编辑⇨生成⇨应用”的流程进行系统化设定。最后达到批量部署、实现自动化运维的平台架构。

3、实验目标

1. 概念了解自动化运维自动化运维的重要性;

2. 基于阿里云强大的配套模板,建立自己所需的架构平台;

3. 创建模板后生成自定义所需要的云产品

4、学前建议

1. 掌握阿里云基本产品:ECS、RDS、SLB、VPC等等;

2. 对自动化运维有一定的了解,比如ansible原理

二、实验目录

1、背景知识操作系统:CentOS-7.4(系统默认最高版本)

阿里产品:ECS、VPC

Hadoop版本:2.7.1J

AVA:jdk1.8.0

2、实验详述

2.1实验环境

若要开始此实验请务必确认:1、所关联的实例服务有无开启2、ROS服务是否开启3、账户内余额是否有结余(至少100元以上)如若准备完全即可开始部署实验2.2 注意事项提示:实验需在自己的账号中实际开通产品后进行,实验过程预计会产生资源消耗费用,请您注意,实验完毕后请及时删除项目,以免产生更多额外收费。

2.2选择模板

①使用浏览器登陆阿里云官网,进入阿里云官网的管理控制台

②点击产品与服务,在下来菜单中选中全部,在下一集菜单中点击资源编排,进入ROS管理控制台首页

③随后在展开的页面中按图例依次点击模板样例,选择hadoop模板点击创建

2.3堆栈

①首先,我们需要了解一下要实现的架构方向从图中我们可以看到,我们此次的目标是架构一套hadoop的运行环境。那么我们如果使用ros服务的话,需要考虑的只是VPC内的这部分(3台ECS、1组安全组、1台虚拟交换机、1台虚拟网关)

那么VPC之外的部分都是ROS的调用、配置、连接的服务部分

②在接下来创建模板的时间里,我们先复习一下顶级字段的定义

"ROSTemplateFormatVersion":"2015-09-01",
//模板版本号。
"Description":"模板描述信息,可用于说明模板的适用场景、架构说明等。",
"Metadata":{
//关于模板的元数据信息,比如存放用于可视化的布局信息。
"Parameters":{
//定义创建资源栈时模板用户可以定制化的参数。
"Mappings":{
//定义映射信息表,映射信息是一种多层的Map结构。
"Conditions":{
//使用内部条件函数定义条件。这些条件确定何时创建关联的资源。
"Resources":{
//所需资源的详细定义,包括资源间的依赖关系、配置细节等。
"Outputs":{
//用于输出一些资源属性等有用信息,可以通过API或控制台获取输出的内容。

从以上这些字段就可以对下边的JSON文本进行逐一匹配,设定好自己需要的数值后即可进行下一步操作流程。本次我们选择华北1为例,在可用区内选择华北1

2.4启动栈

①设置完配置信息后就可以进行“栈”的启动

②在启动的时候有些必要信息是需要手动输入的,比如:

1)栈名。对格式没有特殊要求,但不能加入符号。例:Test-Ros-1

2)创建超时。这部分就是在检测超过超时时间后的回滚机制,默认不需要修改。

3)VPC名称。对格式同样没有要求,纯英文就好。例:Rosvpc

③ZoneID:具体数值请参考如下

cn-qingdao-c华北1 可用区C

cn-qingdao-b华北1 可用区B

cn-beijing-e华北2 可用区E

cn-beijing-d华北2 可用区D

cn-beijing-a华北2 可用区A

cn-beijing-b华北2 可用区B

cn-beijing-c华北2 可用区C

cn-zhangjiakou-a华北3 可用区A

cn-huhehaote-a华北5 可用区A

cn-hangzhou-f华东1 可用区F

cn-hangzhou-e华东1 可用区E

cn-hangzhou-b华东1 可用区B

cn-hangzhou-g华东1 可用区G

cn-shanghai-d华东2 可用区D

cn-shanghai-c华东2 可用区C

cn-shanghai-b华东2 可用区B

cn-shanghai-a华东2 可用区A

cn-shenzhen-b华南1 可用区B

cn-shenzhen-a华南1 可用区A

cn-shenzhen-c华南1 可用区C

cn-hongkong-c香港可用区C

cn-hongkong-b香港可用区B

以上参数只列举出中国境内的相关可用区,国外地区请参考阿里云文档。

本次实验使用华北1可用区,那对应的zoneID即是“cn-qingdao-c”,填入框内即可。

④Vswitch:填写好可用区后,自定义一组子网网段。格式只要符合网络策略标准即可。因为默认的内网网段为10.0.0.0/8,那么此处子网可以设置为:10.0.10.10/24

⑤实例型号选择:每个模板有不同的实例范围,但实例型号倘若一致,配置一定一致

那么我们本次实验使用标准的ecs.n4.large(2核4G),因为Hadoop对计算配置还是有一定要求的,那么保险起见建议不要配置太低。

⑥密码:实例密码设置规则为字母(大小写)+数字,不少于8位比如:Abcd1234

⑦VPC网段:选择一组内网网段。格式只要符合网络策略标准即可

咱们默认配置为10.0.0.0网段,当然也可以选择192或者172网段设置,那么Vswitch的子网网段也要跟着一起变。

⑧选择磁盘类型:普通云盘、高效云盘、SSD

本次咱们为了更快的搭建平台,不跑实际应用那么选择最快速的SSD

⑨标签名称:同新建ECS实例一样,如果需要可以给新建设备自定义标签

咱们可以输入为ecsinstance

⑩全部填写完毕后点击创建按钮,进行下一步

⑪栈支持的镜像ID如下图所示,获取地址为:https://ros.console.aliyun.com/?spm=5176.2020520101.1001.22.4a8b27f1HRhiY2#/product/cn-shenzhen/list/imageLi

2.5验证

①创建之后会弹出“请求提交成功”界面,点击完成按钮等待10分钟左右会提示创建成功的

②回到“资源栈管理”界面可以看到刚刚应用的策略正在创建实例

③依体量决定,一般情况10分钟内都会创建完成

最后可以看到“创建完成”从下边我们可以看到一些刚刚自定义的栈参数

3、更新堆栈

①如果对自己构建的环境不满意,可以利用“更新堆栈”的功能进行修改

如果堆栈之后发现哪些配置不对,或者需要变更之前设定的配置,可以进行修改

依次在“资源站管理”下的资源部分点击“更多”⇨“更新堆栈”

由于内容部分和新建一样,这里就不过多解释了

4、常见问题

对于ROS创建堆栈的时候有几样值得注意的地方:

“堆栈名称”只能是英文

注意实例配置模板,由于阿里更新迭代比较快很多配置已经被取代,故经常出现实例不存在的现象发生,属于正常。

“实例密码”规则不能有符号,只能是数字+英文大小写

  • 版权声明: 发表于 2019-04-2616:19:24
  • 转载注明:https://www.wanqiandu.com/759.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: