开发者学堂课程【E-MapReduce入门:EMR 开通与演示】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/329/detail/3703
EMR 开通与演示
内容介绍:
一、概念介绍
二、准备工作
三、创建流程演示
一、概念介绍
1、网络
VPC
专有网络 (Virtual Private Cloud,简称VPC),是您基于阿里云构建的一个隔离的网络环境,专有网络之间逻辑上彻底隔离。 (不同 VPC 之间不互通)
交换机
VPC 内 ECS 实例通过交换机进行通讯。根据实例所属的专有网络 VPC 和虚拟交换机网段,专有网络 VPC 类型 ECS 实例一经创建即被分配一个私有 IP 地址。
安全组
安全组提供类似虚拟防火墙功能,用于设置集群内 ECS 实例的网络访问控制,是重要的安全隔离手段。
EMR 团队与阿里云安全团队紧密合作及时发现各种高危漏洞,提前预防危险发生
2、集群类型
创建集群的第一步是要选集群类型,目前支持六种集群类型主要是根据使用集群的场景来进行划分的。
第一个是 Hadoop 集群类型,拥有最丰富的开源组件。
然后是 Kafka 可以作为一个消息系统,里面主要包含 Kafka 等一些相关的组件。
第三个是 DataSence 可以作为一个 ML 和 AI 的一个平台。
其次是 druid 主要用于实时 OLAP 的一个场景。
再其次 Zookeeper 集群可以作为分布式的一个协调系统,单独的把它作为一个集群来创建。
最后是 DataFlow 集群类型,里面组件基于 Flink 官方产品 Ververica 和 EMR Hadoop 构成的企业级大数据计算平台,完全兼容开源的 Flink ,主要用于实时计算的场景并做了实时计算上面的适配和优化。
3、EMR 集群节点类型
Master
部署 Master 服务,HDFS NameNode,YARN ResourceMlanager 等
HDFS,YARN,Hive,HBase 组件均已实现HA机制(创建的时候可以打开集群的高可用,可以创建多个 Master 来实现 HA 机制。)
Core
部署YARN NodeManager 和 DataNode
不支持弹性伸缩(既可以做存储也可以做计算。)
Task
部署 YARN NodeManager 但不会部署 DataNode(Task 主要目标是计算,补充计算力,不进行存储)
支持竞价实例和弹性伸缩(弹性伸缩通过 Task 节点的扩充和减少来增加和减少计算力)
Gateway
部署 Hadoop,Spark,Hink 等组件的客户端
支持部署不同部门采用不同的参数和配置
4、权限策略
(1)角色
RAM角色是一种虚拟用户,没有确定的身份认证密钥,需要被一个受信的实体用户扮演才能正常使用。首次使用 E-MapReduce 服务时,必须用主账号完成默认角色授权,否则子账号和主账号不能使用E-MapReduce
系统角色
AliyunEMRDefaultRole
角色描述
E-MapReduce才能正常地调用相关服务(ECS和创建集群以及 OSS 等),创建集群以及保存日志。
系统角色
AliyunEmrEcsDefaultRole
角色描述
您创建的E-MapReduce集群可以以免AK的方式访问阿里云资源,例如 OSS
(2)用户系统策略
权限指在某种条件下允许或拒绝对某些资源执行某些操作,权限策略是一组访向权限的集合。权限策略分为系统策略和自定义策略,需要主账号在 RAM 控制台上进行操作
系统策略
AliyunEMRFullAccess
策略描述
管理 E-MapReduce 的权限,主要包括对 E-MapReduce 的所有资源的所有操作权限。
系统策略
AliyunEMRDevelopAccess
策略描述
E-MapReduce开发者权限,与 AlivnEMRFUIAccess策略相比不授予集群的创建和释放等操作权限。
系统策略
AliyunEMRFlowAdmin
策略描述
E-MapReduce 数据开发的管理员权限,支持创建项目、开发和管
和管理作业,但不支持添加项目成员和管理集群。
创建集群时使用 RAM 子账号需要主账号为子账号授权相应的权限策略才能在 EMR 控制台上做相应的操作。
5、EMR 费用组成
ECS 实例费用
购买 E-MapReduce 集群时,系统根据您选择的实例配置自动购买并创建阿里云 ECS 实例,您无需提前准备集群所需的 ECS 实例。同时,如果您的账号拥有云服务器 ECS 的优惠折扣,创建集群时将自动享受该折扣。
EMR 实例费用
E-MapReduce 会提供集群的多维度管理服务,包括页面的展示与控制、OpenAPI 与 SDK 的支持、监控报警、运维工具和服务端后台的自动化运维等服务。关于 E-MapReduce 产品的详细定价有两种类型:包年包月和按量付费。目前使用包年包月, EMR 实例部分价格享受0折优惠。
外网流量费(开启公网)
Master 节点的外网流量费用未包含在集群的费用中,需要单独计算。该部分费用采用按量付费的方式,按小时计算出方向的外网流量费用(入方向流量免费)。
二、准备工作
准备工作有四点:首先注册阿里云的账号,并且完成相关的实名认证。其次需要对服务账号进行授权,是刚才所介绍的需要对刚才两个角色进行授权。只需进入 EMR 的控制台就会弹出相关的授权弹框,如果已经完成了相关的授权就可以进行接下来的操作。然后是子账号的授权,如果您需要使用 RAM 子账号登陆 EMR 控制台,并且使用控制台上的功能,需要主账号登录访问控制 RAM 的控制台,授予 RAM 子账号相应的权限。
RAM 提供的系统权限一共有三个,刚刚已经介绍了。最后一点是确保账户余额充足,根据阿里云 ECS 的规则,在购买按量付费实例的时候,需要保证阿里云账户中可用的余额不少于100元的人民币,代金券是无效的。如果账户不能满足这个要求,在创建按量付费的 EMR 实例时,点击创建会有错误的相关提示,无法完成正常的一个创建流程。
三、创建流程演示
这是 EMR 产品的官方主页,可以在上面观看EMR 的集群介绍和功能的介绍。通过点击购买可以跳转进相关的 EMR 控制台。
这是 EMR 控制台的创建页面,也可以直接点进入控制台。
点击创建集群也可以进入创建的页面。
1、软件配置
这里分为三个环节。一个是软件配置、硬件配置以及基础配置。具体的流程和步骤。
首先第一步就是集群类型一共有六种,可以根据使用集群的具体场景来选择合适的集群,这里我们选择 Hadoop 集群作为演示。第二项是云原生选项。我们 EMR 产品将在后续支持 on ACK 的形态,目前默认是 on ACS 。然后产品版本分为两部分,一部分是基于 Hadoop 3.x EMR 4.x 版本。另一部分是基于 Hadoop 2.x的 3.x 版本。可以根据对 Hadoop 生态的版本需求,选择合适的版本来创建集群,这里我们选择3.29版本。根据所选的版本,可以看到各个组件的版本的情况,可以根据组件的需要点击可选服务创建进集群里面。
高级设置里面有两部分,一部分是 Kerberos 集群模式,打开开关之后创建出的集群,默认开启 Kerberos 创建出来一个高安全集群。然后是软件的自定义配置,打开软件自定义配置,可以通过 jscn 文件来对组件的配置,在创建的时候进行初始化,方便批量或者自动化创建集群的需求,点击下一步。
2、硬件配置
付费类型分为包年包月和按量付费。其中包年包月可以选择相应的付费时长,并且可以选择是否开启自动续费的开关。创建一个按量付费的集群。
首先是可用区,可以选择不同的可用区来创建集群。不同的可用区下有不同的VPC,假如当前可用区下没有 VPC 的话,可以点击创建 VPC。
进入 ECS 控制台创建相应的专有网络。
如果使用子账号需要有相关的 ECS 权限,否则就需要主账号来创建相关 VPC 和交换机。接下来是安全组。可以选择已有的安全组,也可以创建安全组,需要填入一个安全组的名称。在创建集群的时候,会自动创建一个安全组,这里我们选择已有的安全组。
打开高可用开关可以选择部署方式,主要是 Master 节点的数量,可以选择两个 Master 或者三个 Master ,这里我们选择两个 Master 。
下面是选择集群的具体的实例以及相关的机器规格。
首先要选择的是 Master 实例,可以选择具体的 ECS 的规格。主要看的是相关的框数以及内存的数目。选择 ecs.g6xlarge 作为 Master节点,可以看到相关的系统盘配置以及数据盘的配置,其中有 Master数量,刚才选了高可用选择一共两台。
下面可以 Core 的实例的配置情况。可以看一下别的机器类型实例。
计算型 Core 和 Mem 比例为1 : 2。
内存型为1:8。
通用型的为1 : 4。
选择 g6.2xlarge 作为的 Core 节点示例。
Core 节点最小数目为2台,通过更改实例数量增加 Core
节点数目。点击下一步进入基础配置。
3、基础配置
在这里可以为集群创建一个名称,创建一个名称。元数据选择里主要是 Hive MetaStore 的数据存储方式,可以选择集群内置的 MySQL 方式,也可以选择统一 meta 元数据存储,或者选择自建的一个RDS实例作为 Hive MetaStore 的存储。选择集群内置的 MySQL 。
挂彩公网开关开启之后, Master 节点上会绑定相关的弹性公网IP,如果您关闭了挂载公网,相关的集群功能如通过控制台访问 Web UI 等一些功能将无法使用,打开挂载公网。远程登录开关,主要用于为前面绑定的安全组,打开远程登录22端口,如果已经给安全组开启了端口,则无需将远程登录端口打开。
登录密码主要用于登录集群的 Master 节点。
可以设置一个简单的密码,作为后续登录节点的认证。下面是高级设置,高级设置里一个是添加用户,主要是在集群创建完成之后,会为集群的用户管理里面默认添加一些用户的名称。
添加一个简单的用户名,并设置密码。
权限设置,是为 EMR 授权的两个服务角色,其中服务角色是不能更改,是用于 EMR 服务来对创建的集群进行相关部署工作所使用的,但是 ESC 应用角色可以创建信赖对象为 EMR 的角色,并将相关角色名称填写,就可以使用自己的角色通过集群访问外部资源,如 OSS 。
引导操作
引导操作是在集群创建的过程中,可以自动的运行定义的一个脚本。这里的脚本首先要上传至 OSS 。
标签主要用于为集群以及集群下的 ECS 实例进行筛选和管理的作用,可以通过创建标签。
资源组也是用于集群管理的一种方式,当你有多个集群的时候,可以将其分入不同的资源组内,通过筛选资源组可以快速得到本资源组下的所有集群。
4、确认
这个页面可以看到选择所有配置的情况。比如集群名称以及所属的地域、软件的版本以及各个软件里面具体的版本情况,这里所选的组件的版本在集群创建好之后是不能更改的,但是组件类型可以在创建好之后进行添加,比如一些可选的服务在创建的时候没有点勾选,创建好之后仍然可以将这些服务很方便的安装在集群里面。
然后就是网络的情况,比如我们所选的可用区以及网络的类型和安全组的名称,硬件的情况,比如 Master 节点的配置以及数量,因为选择了高可用,所以一共有两台, Core 节点的配置选了三台,其中节点类型为 g6.2x large。
然后 Kerberos 集群模式,由于没有开启 Kerberos 集群的开关,所以为标准模式,如果开启了则为高安全模式。其中高可用为 Master 节点两台的开关。挂载公网打开开关之后就会给 Master 节点绑上弹性公网的 IP,其通过相关的 IP 地址就可以在公网环境下访问 Master 节点。
远程登录开启会为刚才的安全组打开22端口相关的操作,我们已经在安全组中手动开启22端口,不用再次打开这个端口。 Meta 数据库主要是 Hive MetaStore 的数据存储地址,选择集群自带的数据库来进行存储,也可以在创建集群的时候选择集群默认的配置情况,创建好之后,将其改为自建的 RDS 作为 Hive MetaStore 的存储地址。
可以看到价格分为 ECS 和 EMR 的两部分,然后算出来一个总价。
最后一步勾选 MapReduce 服务条款,点击创建,就可以完成整个集群的创建流程。
可以看到集群正在初始化中,刚才的一些集群信息也展示在这里。可以点击集群 ID,进入集群管理详细的界面,查看集群基础信息。
其中可以看到标签,如果有多个集群的话,可以通过标签来对不同集群来进行筛选。
当前集群状态是初始化中,正常情况下一个集群初始化时间约为10分钟左右,也要根据集群规模、所选可用区和网络情况综合决定。当集群出创建成功之后状态就会变为运行中,此时集群创建完毕