MapReduce(MR)使用大全-保姆级踩坑无数总结

引:MapReduce作为hadoop三大核心组件之一,在大数据处理中经常被使用。由于文档的稀缺性和分散性,以及MR脚本的多元性,故各种语言、各种用法等参差不齐。所以本篇文章以python2为开发语言,run.sh为入口脚本来详细说明mr的使用。

一、使用
运行python的mr怎么跑起来?
先上代码run.sh文件:

${HADOOP_HOME}/bin/hadoop streaming \
    -D mapred.job.name=my_first_mr \
    -D mapred.job.map.capacity=500 \
    -D mapred.job.reduce.capacity=200 \
    -D mapred.map.tasks=1500 \
    -D mapred.reduce.tasks=200 \
    -D mapred.job.priority=VERY_HIGH \
    -D mapred.job.queue.name=my_queue \
    -D mapred.job.tracker="my-job.com:54311" \
    -D hadoop.job.ugi="mygui,myugi" \
    -D stream.memory.limit=1000 \
    -input "afs://x.afs.com:9233/user/myugi/input" \
    -output "afs://x.afs.com:9233/user/myugi/output" \
    -outputformat org.apache.hadoop.mapred.TextOutputFormat \
    -mapper "python/bin/python m.py" \
    -reducer "python/bin/python r.py se" \
    -file "m.py" \
    -file "r.py" \
    -cacheArchive "afs://x.afs.com:9233/user/myugi/Python-2.7.3.tar.gz#python"

以上代码便可运行mr,参数解释:

  1. -D mapred.job.name=my_first_mr: 设置MapReduce作业的名称为my_first_mr。
  2. -D mapred.job.map.capacity=500: 设置Map并发500。
  3. -D mapred.job.reduce.capacity=200: 设置Reduce并发200。
  4. -D mapred.map.tasks=1500: 设置Map任务的数量为1500。
  5. -D mapred.reduce.tasks=200: 设置Reduce任务的数量为200。
  6. -D mapred.job.priority=VERY_HIGH: 设置作业的优先级为VERY_HIGH。
  7. -D mapred.job.queue.name=my_queue: 设置作业应该提交到的队列名称为my_queue。
  8. -D mapred.job.tracker=“my-job.com:54311”: 指定JobTracker的地址和端口。JobTracker是Hadoop中用于协调作业执行的服务。
  9. -D hadoop.job.ugi=“mygui,myugi”: 设置用户组信息,其中mygui是用户名和组名。
  10. -D stream.memory.limit=1000: 设置流任务的内存限制为1000(MB)。
  11. -input “afs://x.afs.com:9233/user/myugi/input”: 指定输入数据的路径。afs协议分布式文件系统。
  12. -output “afs://x.afs.com:9233/user/myugi/o
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值