MapReduce提交集群运行,Yarn调度MR流程

一、在windows下调试

产生不兼容问题时下载winunil.rar包解压覆盖配置文件到hadoop包bin目录下即可。

Map:

1.切分单词String line = value.toString();
2.遍历单词数据输出context.write(new Text(),new IntWritable());
复制代码

Reduce:

1.拿到map给过来的结果对数据中的value.list遍历叠加得到一个单词的总次数
int count=0;count += value.get();
2.输出这一单词的统计结果context.write();
复制代码

WCRunner:

1.job.getInstance(new Configuraion());//设置环境配置
2.设置整个job所用的那些类在哪个jar包,job.setJarByclass(运行类.class)。
3.设置job使用的mapper和reducer的类
4.指定mapper的输出数据KV类型
5.指定reducer的输出数据KV类型
6.指定要处理的输入数据存放路径
7.指定要处理的输出数据存放路径
8.指定NodeManager运行的容器数量
  job.setNumReduceTasks(1);
9.将job提交给集群运行
  Boolean b = job.waitForCompletion(true);
  System.exit(b ? 0 : 1);
复制代码

二、Yarn:

是一个资源调度系统,主要负责任务的维持和任务分配需要运行的资源。

三、Resource Manager基本职能:

  • 1.与客户端进行交互,处理来自于客户端的请求,如查询应用的运行情况等。
  • 2.启动和管理各个应用的ApplicationMaster
  • 3.管理NodeManager,例如kill container(容器)。
  • 4.资源管理和调度,接收ApplicationMaster的资源申请,并为其分配。

四、job提交的逻辑及Yarn框架的技术机制

Job参数设置:

  • job.split 指的是默认系统切分block 128M。
  • job.xml 指的是configuration的配置。
  • job.jar 指的是用打包命令生成的jar包。(路径+名字)
  • 打包的命令:

1、mvn clean install Dmaven.test.skip

2、mvn clean package

一、Hadoop里面序列化时 implements Writable

二、DataOutPut.WriteUTF(值);序列化

三、值=DataInput.readUTF();反序列化

四、Hadoop框架使用Mapper将数据处理成一个个的<key,value>键值对,在网络节点间对其进行整理(shuffle),然后使用Reducer处理数据并进行最终输出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值