开发者学堂课程【企业运维训练营之大数据 EMR 原理与实践:视频-《E-MapReduce》】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1242/detail/18440
视频-《E-MapReduce》
7.EMR 运维功能介绍
(1)功能介绍
为了方便理解,把这些重要的运营功能也放到了一张图里,还是从下往上看,首先是节点类型ECS、ACK,然后是集群类型七种。操作相关的分为六类,第一就是集群管理相关的,比如集群的查看、创建、修改、克隆,包括脚本操作,脚本操作可以添加一个脚本,脚本在集群启动前,脚本配置之后,在可以配置这个集群启动前的一个执行的脚本,能实现比如安装其他的第三方的软件,修改集群的运营环境,也可以作用到弹性扩容或者弹性伸缩出来的节点,让在这些节点上运行脚本。最后一个是健康检查,健康检查是一个新的功能,可以通过集群的健康检查功能,了解当前集群的一个状态。
(2)创建过程
在这个界面,可以选择地狱、业务场景,还有发行版本,发行版本就是EMR的一个产品的发行版本,服务高可用是点开之后。高可用集群会创建多个master节点,当一个master节点出现问题的时候,另一个master节点能快速的接替这个节点进行工作,保证集群的高可用性。场景一共有七种,选择数据库湖和Hadoop。
看到服务,必选的服务、可选的服务、元数据,软件自定义配置,服务存在很多配置文件,按照一定的配置规则能够修改,能修改或者是配置这些配置文件中的参数的值,需要配置四个东西,第一个服务名,后、哪个配置文件,哪一个选项,第四个配置的是选项要配置什么值。
第二页是付费类型,可用区、专业网络交换机。包括挂在公网,节点组是相同节点相同这个实例类型的ECS组成的一个节点组。能看到有不同的节点组,master,core,添加task节点组。先选择他的实际类型内存型,可以选择它的实例规格是4C8G的,系统盘和数据盘是选择云盘。
集群名称,身份密钥对就是SSH密对,密码是用户名和密码。
有一个应用角色,ECS应用要去访问OSS服务,是通过决策去访问的,如果这个决策没有oss相关操作权限,它是无法进行操作进行访问的。引导操作就是集群前启动的执行的脚本,标签资源组刚刚技术概念中也介绍过。数据盘加密,对数据盘进行加密。
节点管理是它可以进行信息查看,节点组的扩容。包括弹性伸缩,以及自动补偿。可能节点的查看好理解,节点组的扩容也好理解,在这个节点组里多加一个节点,弹性伸缩是指EMR提供的能够根据业务需求,还有策略自动的调整计算能力的功能。可以为节点组设置按照时间,还是按照负载的一个伸缩策略,在业务的需求增长的时候,弹性伸缩能自动的为节点组增加节点,保证集群的算力,在业务需求下降的时候,弹性伸缩为节点自动的减少节点来节约成本。自动补偿是当ENR监测到集群的ECS实例没有办法维持正常工作的时候,EMR的自动补偿功能会尝试新购ECS实例,替换掉异常的ECS的实例。第三类是用户管理。是指EMR集群的用户管理,主要用于EMR集群内的身份认证。EMR用户可以用于访问链接还有端口以及查看开源组件的web UI的时候。用户管理支持添加删除用户重置密码下载认证凭据,这块添加的是要先在阿里云的子账号中创建一个子账号,添加一个同名的用户。第四运维功能是集群服务相关的,首先是查看服务的信息,服务的启停,服务的配置,访问链接和端口。
这个是用户管理。刚刚讲的用户管理。第四大操作类型集群服务,就是可以对比如HDFS。
可以对HDFS进行启停还有重启。
点进去之后可以看到它的组件的名称,也可以重启,可以对这个HDFS的配置文件进行配置。可以看到core-ste配置文件,可以修改参数。
可以看参数的修改历史,修改之后也能回滚。这个是基金服务的一些操作。第五个是监控告警,它支持服务基金服务的指标的一个监控,还有一个集群事件的监控,并且支持对这些服务指标,还有集群监控做报警。这块是在进行监控这里。
可以看到所有的事件还有指标监控。第六类是日志管理。需要把日志投递到SLS中,进行服务日志的查询分析,甚至支持日志的可视化。这个在日志管理这个菜单里。
查154节点,他的日志一共有170条,可以对这些日志日志进行查询分析。整体的有1400,如果想看一下每个节点都有都有多少条日志,可以对这个节点进行分组。就能看到不同的节点,他有多少条日志
可以设置可视化,通过这个柱状图也能看到每个节点有多少条日志
这个就是EMR的日志管理的功能。还依赖一些其他的云产品,比如监控告警,它的告警功能依赖的就是云监控,日志管理的功能,它依赖的就是SLS。
8.EMR开发功能介绍
开发功能在第二节课和第四节课都会讲到,尤其是第四节课会重点的介绍。目前EMR的数据化功能主要是在dataWorks on平台上实现的,dataWorks on EMR它支持创建hive、 Spark、Spark SQL、Presto、Impala、MR等等任务节点,可以实现任务工作流的配置和一个定时的调度,元数据管理还有数据质量监控告警这些功能。
可以看到这张图片。在dataWorks on的控制台,有多种基于EMR的引擎的任务,前提是创建了EMR集群,将集群配置为dataWorks项目的一个引擎之后就可以创建这些任务进行开发了。如图它是一个业务流程,业务流程之间的任务可以设置依赖关系,并且可以对这些任务设置一个定时调度。还有其他的一些操作,能看到这个业务流程最下游是presto和Impala两个任务,分别依赖Spark,Spark依赖Hive2。
Hive2依赖Hive1的这个任务,可以对五个任务设置一个相同的运行时间,等到运行时间的时候,Hive2会优先运行,只有当Hive1任务完成运行后,Hive2任务才开始执行,后面的任务也是同样的逻辑。这样就实现了任务的定时调动以及任务间的依赖,还有很多其他的功能,可以关注后面的课程。
五、回顾
1.大数据概念
(1)大数据的应用
首先是介绍的大数据的应用四张图。双11的大屏,啤酒与尿布的数据分析,小红书和抖音的这个推荐
(2)大数据和大数据技术的定义
接下来是大数据和大数据技术的定义
(3)大数据发展史
①Cutting开发出的Lucene
②基于Lucene开发出Nutch,一个当时非常流行的一个数值引擎。随着时间的推移,数据量越来越多
③Google发布了一个文件系统,发布了一篇论文,介绍它的文件系统是GFS。
④接着Cutting基于这个论文他在Nutch上实现了,起名为NDFS。⑤Google又发布了一篇技术论文,介绍了他自己的mapReduce模型,⑥Cutting又基于他的论文在Nutch上实现了MapReduce。
⑦Cutting将NDFS和mapreduce进行升级改造,重新命名为Hadoop,从此开启了Hadoop的时代。
但是这个MapReduce它有两个就比较大的问题,第一个就是太低成,第二个运行慢
⑧pig,一个类SQL脚本语言,运行它会编译生成底层的MR认为。但是它还是有学习成本的,并且不太方便
⑨Hive写SQL就能运行底层的mapreduce框架进行计算。
⑩ES出现mapreduce,它的第一个问题用被hive给解决掉了,第二个问题是慢,因为慢当时有了两个发展方向,第一个是知识计算,第二个是更高效的批量计算
⑪storm出现,一条一条的处理数据
⑫更高效的批量计算方向发展Spark
⑬Spark团队又研究出了Spark streaming,既有了storm实时计算,为什么还要耗费精力去开发这个Spark streaming?storm虽是实时的,但是它的吞吐量是问题,并且准确性没有办法保证,
⑭Spark streaming他是把流计算按照时间分片,切成很小的P进行批计算,他是几条几条的执行,这样就快了。但是Spark streaming也是有问题的,因为它是VP处理,它不是流处理,所以Flink出现了
⑮Flink比storm吞吐量更高,延迟更低,并且准确性也有保证。并且它是支持P处理的,比起Spark streaming,Flink它是真正意义的实时计算。
2.EMR 产品介绍
(1)EMR 产品简介
(2)EMR 产品架构、六层、四类产品组件,开源的,基于开源优化的,自研的,还有阿里云的产品
(3)EMR 应用场景
常见的一些应用场景,一个是批量数据处理;第二个是计息查询,就是ad hoc数据分析查询,第三种场景是数据在线服务,第四个场景是实时计算,就是流式数据处理。
(4)EMR 产品优势
十个步骤只有八九十才是应该真正关心的。
(5)EMR与开源Hadoop对比
从七项来对比的,成本,性能,易用性,弹性,安全性,可靠性,还有售后的服务。EMR基本概念,
(6)EMR 的基本概念
有七层的架构图,最底层是地狱VPC,专业网络、可用区、交换机,介绍了节点相关的,比如CPU内存,内网还有磁盘,磁盘包括云盘和本地盘,云盘是一款产品,本地盘是节点本地的一个磁盘。介绍了实例类型,CPU型内存型实例类型,再之上就是付费类型,预付费和后付费,包年包月,按量付费。456层旁边的四个概念,有挂载、公网,挂载之后就可以访问公网,通过公网登录。还有安全组,一种虚拟的防火墙,标签来标记开发环境和生态环境,最后是一个资源组,同一个账号可以对不同的部门的资源进行标识。第三层节点类型,节点类型有master、core、task三种类型,它运行着不同类型的进程。第二层就是集群类型。集体类型,不同的集体类型,它的基本的区别是不同的集群类型,他提供的、创建的基础的服务类型不一样,比如有的是计算引擎它的核心组件是hive、Spark。有的集群是数据分析的组件,有的集群是实时数据流的集群,核心组件是Flink,还有数据服务的集群,核心组件Hbase,包括Hadoop、zookeeper等类型的集群,其实是集群类型不同,就是安装的核心组件不一样。基本概念最上层是服务组件,Hbase、HDFS、hive这些,还有个概念元数据,支持三种,内置的MYSQL,自建的RDS,还有个DF统一的元数据。
(7)EMR运维功能
①第一个是集群管理
②第二个是节点管理
③第三个是用户管理
④,第四个是集群的服务
去控制台上看了各个服务可以调停,可以修改配置软件,可以回滚配置。
⑤第五个是监控告警
它是对服务指标和事件进行了监控和告警,它依赖的是云监控的功能,⑥第六是日志管理
配置能通过日志服务SLS的功能,能对日志进行查询分析,还能做一些可视化的操作
(8)EMR开发功能
就是EMR的开发功能,在datawords上可以创建不同的节点任务,可以设置依赖关系,设置定时的调度。
六、下节预告
下节课会重点介绍几款开源的组件和阿里云的自研组件,通过实操让大家对离线的数据分析链路中使用的组件有一个全面的了解。下节课会介绍七个重要的组件,分别是分布式文件系统HDFS,构建在这个HDFS之上的数据仓库Hive,以及通过web UI提供可视化界面的提交任务和分析数据的hue。第四个是基于内存计算的Spark。第五个是支持联邦信息查询的一个分布式MPP架构的计算引擎Presto。第六个是阿里云的字眼的组件,叫JindoFS,JindoFS是基于价格更加低廉的阿里云对象存储OSS,并在HDFS的基础上进行了多方面的优化,为开源的数据生态构建一个Hadoop兼容的文件系统,文件可以存在HDFS上,也可以存在OSS,最后一个是EMR on DataWords,DataWords也是阿里云自研的一站式的全链路数据开发和治理平台,DataWords它不是一个组架,它是一款云产品。