使用E-MapReduce服务处理阿里云文件存储(NAS)的数据-阿里云开发者社区

开发者社区> 阿里云EMR> 正文

使用E-MapReduce服务处理阿里云文件存储(NAS)的数据

简介: 给大家介绍一个使用场景,可以将E-MapReduce的Hadoop作业和文件存储(NAS)结合在一起,发挥分布式存储和分布式计算在一起的威力

简介

文件存储是阿里云今年新推出的存储服务,因为它提供标准的文件访问协议,用户无需对现有应用做任何修改,即可使用具备无限容量及性能扩展、单一命名空间、多共享、高可靠和高可用等特性的分布式文件系统。E-MapReduce服务是阿里云上的开源大数据解决方案,可以帮用户构建基于Hadoop等开源组件的大数据平台。

今天我给大家介绍一个使用场景,可以将E-MapReduce的Hadoop作业和文件存储(NAS)结合在一起,发挥分布式存储和分布式计算在一起的威力。

环境准备

第一步:按照官方文档在文件存储的管理控制台依次创建文件系统、创建挂载点、配置权限组规则。值得注意的是,如果使用经典网络环境,挂载点不提供默认权限组,且经典网络类型权限组规则授权地址只能是单个 IP 而不能是网段,所以你需要在控制台里手动添加规则。所以需要确保E-MapReduce集群里所有的节点都设置了对NAS的访问权限(读写)。

第二步:通过SSH登录E-MapReduce节点,挂载NAS。注意:master节点和worker节点都需要挂载:

sudo mkdir /mnt/nas
sudo mount -t nfs4 <nas-url>.cn-hangzhou.nas.aliyuncs.com:/ /mnt/nas

第三步:测试挂载是否生效,比如可以在Master节点上创建目录:

mkdir /mnt/nas/wc-in

并在worker节点上创建文件

touch /mnt/nas/wc-in/1.txt

确保所有节点上都能看到文件,这样NAS配置就算成功了

[hadoop@emr-header-1 ~]$ ls -l  /mnt/nas/wc-in
total 8
-rw-rw-r-- 1 hadoop hadoop 27 12月 12 10:32 1.txt
-rw-rw-r-- 1 hadoop hadoop 28 12月 12 10:32 2.txt

运行Hadoop MapReduce任务

环境准备好之后,我们就可以运行Hadoop任务,这里的例子采用了最常见的WordCount:

hadoop jar /opt/apps/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount file:///mnt/nas/wc-in file:///mnt/nas/wc-out

因为NAS就是挂载在本地的文件系统,所以可以采用Hadoop自带的处理组件,我们只需要在输入和输出目录(或文件)前面加上 file:/// 前缀,MapReduce任务就会自动定位到NAS上,处理NAS上的数据,并把结果写到NAS上。

查看结果

[hadoop@emr-worker-2 wc-out]$ cat /mnt/nas/wc-out/part-* 
world   2
aliyun  2
alibaba 1
hadoop  1
hello   1
tencent 1

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
+ 订阅

阿里巴巴开源大数据技术团队成立阿里云EMR技术圈, 每周推送前沿技术文章,直播分享经典案例、在线答疑,营造纯粹的开源大数据氛围,欢迎加入!加入钉钉群聊阿里云E-MapReduce交流2群,点击进入查看详情 https://qr.dingtalk.com/action/joingroup?code=v1,k1,cNBcqHn4TvG0iHpN3cSc1B86D1831SGMdvGu7PW+sm4=&_dt_no_comment=1&origin=11

官方博客
官网链接