本地运行模式:
- mapreduce程序是被提交给LocalJobRunner在本地以单进程的形式运行
- 而处理的数据及输出结果可以在本地文件系统,也可以在hdfs上
- 怎样实现本地运行?写一个程序,不要带集群的配置文件
- 本质是程序的conf中是否有mapreduce.framework.name=local以及yarn.resourcemanager.hostname参数
- 本地模式非常便于进行业务逻辑的debug,只要在eclipse中打断点即可
集群运行模式:
- 将mapreduce程序提交给yarn集群,分发到很多的节点上并发执行
- 处理的数据和输出结果应该位于hdfs文件系统
- 提交集群的实现步骤:
- 将程序打成JAR包,然后在集群的任意一个节点上用hadoop命令启动
- hadoop jar wordcount.jar cn.itcast.bigdata.mrsimple.WordCountDriver args
总结:
- 概念:所谓的运行模式指的是由谁给mr程序提供运算时候所需要的硬件资源
- 两种模式:
- 集群模式:程序计算的资源由yarn分配 分布式计算的效果 生产环境线上环境的模型
- 本地模式:程序计算的资源由程序所在的机器本地系统模拟出 单机计算的效果 开发测试环境
- 决定什么模式运行
-
221
mapreduce.framework.name = local 本地模式
2mapreduce.framework.name = yarn 集群模式
如果不配置 默认是local模式 但是要注意该集群的环境中是否配置了hadoop 如果有覆盖默认的
识别出mared-site.xml中配置 - 注意事项
要想本地运行mr程序 需要解决hadoop native library问题 winutils.exe 程序