如何在Amazon Elastic MapReduce(EMR)上运行MapReduce程序

本文详细介绍了如何在Amazon Elastic MapReduce (EMR) 上运行MapReduce程序,包括注册Amazon账号、创建S3 Bucket、打包并测试Hadoop程序、修改程序配置、上传文件及启动jobflow。注意,程序中的文件读取操作需调整为适用于S3的路径,且Amazon上的性能可能不如本地机器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个问题其实是挺简单的,但是网上真的很不好找教程,尤其对于一些细节,就没人说过。估计大家可能也会一次次试验,我试了好多次终于成功,权当初学者一点帮助吧。

第一步自然是去Amazon注册账号。这里给的是EC2的地址,不过一样。 http://aws.amazon.com/ec2/    现在Amazon提供了很多不同种类的云服务,存储的有S3,就和DropBox一个原理,不过没那么方便易用,主要用途还是在于作为其他计算服务的输入输出数据仓库一样;数据库有SimpleDB,是非关系型的数据库,貌似是BigTable类似结构的,还有关系型数据库,不过不免费。大部分服务都是有免费时间或存储容量的,EMR就没有,虽然很便宜,但是跑EMR必须要用到EC2,虽然用EC2跑其他一些东西是免费的,但用EC2跑EMR则不是免费的,所以跑一次价格大致是0.085*2(EC2)加 0.015*2(EMR),0.2美元。我每次都是跑至少两个机子的,一个是Master,必须有一个;另外一个是Core Instance,我也选了一个。

第二步就是在S3创建Bucket。Bucket相当你个人的一个文件夹,在所有S3bucket名字中必须是唯一的。

第三步,测试程序。建议各位先在本地的机子上把你的Hadoop文件打包成可执行Jar,跑一遍MapReduce后再准备修改。如果这一步都成功不了那在EMR上几乎肯定会失败的。命令格式 [hadoop  -jar  jar文件路径  参数]。EMR好像只支持0.18和0.20的Hadoop,编译记得用正确的Hadoop库版本。

第四步,上传输入输出文件,创建文件夹。在你之前创建的Bucket里面新建两个文件夹,一个是输入文件夹,一个是输出文件夹。这里的规则和本地是完全一样的,输入文件夹里面的所有文件都会被搬到HDFS里面作为输入,输出文件夹也必须是空的(这点教训惨重啊)。

第四步,修改程序。很简单,只有几步。把你程序原本的输入文件夹路径和输出文件夹路径都修改成S3里面的路径。格式为s3://b

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值