尝新阿里云E-MapReduce MetaService服务

本文涉及的产品
EMR Serverless StarRocks,5000CU*H 48000GB*H
简介: 阿里云E-MapReduce从EMR-2.1.0版本镜像开始,将在VPC集群中提供MetaService服务。

阿里云E-MapReduce从EMR-2.1.0版本镜像开始,将在VPC集群中提供MetaService服务。

什么是MetaService服务?

从字面理解,MetaService服务提供用户查询集群Meta信息。包括哪些Meta信息呢?E-MapReduce
目前主要提供以下几种信息:

  • 集群所在Region
  • 集群角色AccessKeyId
  • 集群角色AccesskeySecret
  • 集群角色SecurityToken
  • 集群角色名
  • 集群所属网络类型

这些信息都可以用来做什么呢?集群所在Region和集群所属网络类型比较容易理解。我如果在杭州Region创建集群,那么可以通过查询MetaService获知当前集群处于“cn-hangzhou” Region。我如果创建VPC集群,那么通过查询MetaService可以获知当前集群网络类型为VPC。这些都是小Case。

角色属性对集群来说有什么意义呢?往下看!

为什么需要MetaService服务?

E-MapReduce从一开始就将OSS作为云上Hadoop集群的推荐存储介质(当然你也可以使用基于云盘的HDFS)。我们这么使用OSS存储:

    查看OSS目录

    hadoop fs -ls oss://Ubx***J8k:Na6J*******BIN@bucket.oss-cn-hangzhou-internal.aliyuncs.com/dir

    Hive建表

    hive> CREATE EXTERNAL TABLE people (id INT, name STRING)
    hive> ROW FORMAT DELIMITED
    hive> FIELDS TERMINATED BY ''/t'
    hive> LOCATION 'oss://Ubx***J8k:Na6J*******BIN@bucket.oss-cn-hangzhou-internal.aliyuncs.com/dir';

    SPARK SHELL

    scala> val data = sc.textFile("oss://Ubx***J8k:Na6J*******BIN@bucket.oss-cn-hangzhou-internal.aliyuncs.com/dir")
    scala> data.count

可以发现,

  1. 交互式查询中使用OSS数据源还是比较繁琐的,需要我们输入一长串的AK信息。当然,我们可以将
    AK信息写到配置文件中,但这种做法不够灵活。
  2. 首先我们一般是不建议用户直接使用AK的,最佳的实践方式是在RAM上创建子账号或者角色,然后使用子账号AK或者Token来完成资源的操作和api的调用。
  3. 开发人员接触到Root账号的AK,难免会存在泄露AK的风险。一旦泄露,造成的损失无法估量。

基于上述几个考虑,E-MapReduce一直在研究一种更好地使用集群的方式。这里我们就要谈到MetaService服务和集群的角色属性。解决这个问题的思路就是让用户在集群上的操作和AK解绑。在E-MapReduce控制台提交作业或者登陆集群运行作业,都不需要显式提供AK。E-MapReduce将基于RAM的角色功能,向用户提供带有Token的角色AK。所有对资源的操作都可以使用角色AK。这可以带来两个优势:

  1. 基于角色的思路可以让我们为每个集群定义专属的权限范围。例如,这个集群的作业只用到OSS资源,那么我们就限制角色的权限只能访问OSS。甚至,你可以限制这个集群只读只写OSS的某个目录。所有的操作可以在RAM控制台完成。
  2. E-MapReduce会自动维护用户的Token不失效,保证长作业或者Streaming类型作业。

有了MetaService服务,我们可以这么完成上面的操作:

  查看OSS目录

  hadoop fs -ls oss://bucket/dir

  Hive建表

  hive> CREATE EXTERNAL TABLE people (id INT, name STRING)
  hive> ROW FORMAT DELIMITED
  hive> FIELDS TERMINATED BY ''/t'
  hive> LOCATION 'oss://bucket/dir';

  SPARK SHELL

  scala> val data = sc.textFile("oss://bucket/dir")
  scala> data.count

是不是很方便?MetaService本质上是一个HTTP服务,你也可以这么访问它:curl http://localhost:10011/cluster-region,将会得到当前集群所属Region。当前MetaService支持以下路劲:

  • Region: “/cluster-region”
  • 角色名: “/cluster-role-name”
  • AccessKeyId:”/role-access-key-id”
  • AccessKeySecret:”/role-access-key-secret”
  • SecurityToken:”/role-security-token”
  • 网络类型:”/cluster-network-type”

如何开启MetaService

当前,E-MapReduce对MetaService的支持需要满足以下两个条件:

  1. 集群网络环境是VPC
  2. 集群版本高于EMR-2.1.0

有了这两个条件,你就可以在E-MapReduce控制台创建一个VPC集群。 在创建集群的“基础配置”-“权限设置”需要你手动授权一“AliyunEmrEcsDefaultRole”。这个只需要授权一次即可,如果已授权,会校验通过;如果还没有授权,则会校验失败,点击“前往授权”完成授权工作。

规划

EMR-2.1.0版本的MetaService只支持OSS数据源。后续版本将陆续支持更多数据源,例如LogService等等。

注意事项

  1. 当前只提供VPC环境下的MetaService服务。
  2. 谨慎删除,编辑“AliyunEmrEcsDefaultRole”,可能会造成集群创建失败或者作业运行失败。请在知
    晓后果的前提下修改“AliyunEmrEcsDefaultRole”。
相关实践学习
基于EMR Serverless StarRocks一键玩转世界杯
基于StarRocks构建极速统一OLAP平台
快速掌握阿里云 E-MapReduce
E-MapReduce 是构建于阿里云 ECS 弹性虚拟机之上,利用开源大数据生态系统,包括 Hadoop、Spark、HBase,为用户提供集群、作业、数据等管理的一站式大数据处理分析服务。 本课程主要介绍阿里云 E-MapReduce 的使用方法。
目录
相关文章
|
7月前
|
存储 分布式计算 算法
【底层服务/编程功底系列】「大数据算法体系」带你深入分析MapReduce算法 — Shuffle的执行过程
【底层服务/编程功底系列】「大数据算法体系」带你深入分析MapReduce算法 — Shuffle的执行过程
108 0
|
4月前
|
分布式计算 API Go
通过MapReduce降低服务响应时间
通过MapReduce降低服务响应时间
|
分布式计算 数据可视化 大数据
集成 Oozie 服务&调度 Mapreduce 程序 | 学习笔记
快速学习 集成 Oozie 服务&调度 Mapreduce 程序
131 0
集成 Oozie 服务&调度 Mapreduce 程序 | 学习笔记
|
消息中间件 分布式计算 Kafka
使用E-MapReduce服务将Kafka数据导入OSS
kafka是一个开源社区常用的消息队列,虽然kafka官方(Confluent公司)提供插件从Kafka直接导入数据到HDFS的connector,但对阿里云对文件存储系统OSS却没有官方的支持。本文会举一个简单的例子,实现kafka的数据写入阿里云OSS。因为阿里云E-MapReduce服...
7980 0
|
弹性计算 分布式计算 安全
使用资源编排服务(ROS)轻松玩转E-MapReduce(EMR)
前言 如果您还没有听说过资源编排服务(ROS),那么恭喜您,本文将带您走进一个新的世界,学习资源管理的新姿势。 当您在使用E-MapReduce(EMR)时,是否想过使用OpenAPI或者是SDK来创建实例?是否为太多的参数感到困扰,为不一样的参数名称形态看到困惑?尤其是要通过代码管理整个实例的生命周期感到烦恼? 但您本不该为此烦恼,不是吗? 其实您只是想创建若干个资源,您不想关心应该调用
1259 0
|
分布式计算 Hadoop 资源调度
hadoop的mapReduce历史服务配置及查看
查看MapReduce历史执行情况报错 查看已经运行完成的MapReduce作业记录,比如用了多少个Map、用了多少个Reduce、作业提交时间、作业启动时间、作业完成时间等信息。
1453 0
|
分布式计算 Hadoop 数据安全/隐私保护
E-MapReduce集群中HDFS服务集成Kerberos
本文介绍在E-MapReduce集群中HDFS服务集成Kerberos。
6671 0
|
资源调度 大数据 Shell
E-MapReduce集群启停HDFS/YARN服务
该文章意在帮助大家,在E-MapReduce环境中停止启动yarn,hdfs服务。
2419 0
|
存储 分布式计算 大数据
使用E-MapReduce服务处理阿里云文件存储(NAS)的数据
给大家介绍一个使用场景,可以将E-MapReduce的Hadoop作业和文件存储(NAS)结合在一起,发挥分布式存储和分布式计算在一起的威力
4139 0
|
2月前
|
分布式计算 资源调度 Hadoop
Hadoop-10-HDFS集群 Java实现MapReduce WordCount计算 Hadoop序列化 编写Mapper和Reducer和Driver 附带POM 详细代码 图文等内容
Hadoop-10-HDFS集群 Java实现MapReduce WordCount计算 Hadoop序列化 编写Mapper和Reducer和Driver 附带POM 详细代码 图文等内容
119 3

相关产品

  • 开源大数据平台 E-MapReduce