MetaService__用户指南_E-MapReduce-阿里云
E-MapReduce环境下提供MetaService服务。基于此服务,您可以在E-MapReduce集群中以免AK的方式访问阿里云资源。
默认应用角色
默认地,您在创建集群时将需要向E-MapReduce服务授权一个应用角色(AliyunEmrEcsDefaultRole)。授权之后,您在E-MapReduce上的作业将可以无需显式输入AK来访问阿里云资源。AliyunEmrEcsDefaultRole默认授予以下权限策略:
{
"Version": "1",
"Statement": [
{
"Action": [
"oss:GetObject",
"oss:ListObjects",
"oss:PutObject",
"oss:DeleteObject",
"oss:ListBuckets",
"oss:AbortMultipartUpload"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
所以默认情况下,基于MetaService的作业将只能访问OSS数据。如果您想基于MetaService访问其他阿里云资源,例如LogService等等,则需要给AliyunEmrEcsDefaultRole补充授予相应的权限。以上操作需要去RAM控制台完成。
注意: 当前metaservice服务只支持OSS,LogService和MNS数据的免AK操作。请谨慎编辑,删除默认角色,否则会造成集群创建失败或者作业运行失败。
自定义应用角色
大多数情况下,您只需要使用默认应用角色或者修改默认应用角色即可。E-MapReduce同时支持您使用自定义的应用角色。在创建集群时,您既可以使用默认应用角色,也可以选择自定义应用角色。如何创建角色并授权给服务,请参考RAM的相关文档。
访问MetaService
MetaService是一个HTTP服务,您可以直接访问这个HTTP服务来获取相关Meta信息: 例如 “curl https://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
基于MetaSerivce服务,我们可以在作业中免AK地访问阿里云资源,这样可以带来两个优势:
- 降低AK泄漏的风险。基于RAM的使用方式,可以将安全风险降到最低。需要什么权限就给角色授予什么权限,做到权限最小化。
- 提高用户体验。尤其在交互式访问OSS资源时,可以避免写一长串的OSS路径。
下面示例几种使用方式:
I. Hadoop命令行查看OSS数据
旧方式: hadoop fs -ls oss://ZaH******As1s:Ba23N**************sdaBj2@bucket.oss-cn-hangzhou-internal.aliyuncs.com/a/b/c
新方式: hadoop fs -ls oss://bucket/a/b/c
II. Hive建表
旧方式:
CREATE EXTERNAL TABLE test_table(id INT, name string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '/t'
LOCATION 'oss://ZaH******As1s:Ba23N**************sdaBj2@bucket.oss-cn-hangzhou-internal.aliyuncs.com/a/b/c';
新方式:
CREATE EXTERNAL TABLE test_table(id INT, name string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '/t'
LOCATION 'oss://bucket/a/b/c';
III. Spark
旧方式: val data = sc.textFile("oss://ZaH******As1s:Ba23N**************sdaBj2@bucket.oss-cn-hangzhou-internal.aliyuncs.com/a/b/c")
新方式: val data = sc.textFile("oss://bucket/a/b/c")
最后更新:2016-12-19 19:03:59
上一篇:
SSH 登录集群__用户指南_E-MapReduce-阿里云
下一篇:
开发准备___开发人员指南_E-MapReduce-阿里云
数据导入说明__快速开始_大数据开发套件-阿里云
WAF排错手册__排错手册_Web 应用防火墙-阿里云
数据编码方式__公共资源说明_API-Reference_日志服务-阿里云
UnbindMFADevice__用户管理接口_RAM API文档_访问控制-阿里云
CreateLoadBalancer__LoadBalancer相关API_API 参考_负载均衡-阿里云
PullLogs__日志库相关接口_API-Reference_日志服务-阿里云
创建API分组__快速入门(开放API)_API 网关-阿里云
原备案不在阿里云新增网站图文引导__流程引导图_备案流程_备案-阿里云
短信模板的审核要求是什么?__常见问题_短信服务-阿里云
ECS权重作用是什么__后端 ECS 服务器常见问题_常见问题_负载均衡-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云