@PostMapping("/login")
public ResultVOregister( StudentWechat studentWechat ){
log.info("授权登录信息: {}", JSON.toJSONString(studentWechat));
Map tokenMap =studentService.login(studentWechat);
return ResultVOUtil.success(tokenMap);
}
一 、基础巩固
1.ResourceManager调度器 a.默认调度器 ------先进先出FIFO
b.公平调度器 ------ 每个任务都有执行的机会
2.心跳机制 ------ NodeManager通过心跳机制健康状况汇报ResourceManager,ResourceManager则会根据每个NodeManager的健康状况调整分配的任务数目。当NodeManager认为自己的健康状况“欠佳”时,可让ResourceManager不再分配任务,待健康状况好转时,再分配新任务。
二 、Hadoop工作流程:
1. Client中,客户端提交一个mr的jar包给JobClient(提交方式:hadoop jar ...)
2. JobClient持有ResourceManager的一个代理对象,它向ResourceManager发送一个RPC请求,告诉ResourceManager作业开始,
然后ResourceManager返回一个JobID和一个存放jar包的路径给Client
3. Client将得到的jar包的路径作为前缀,JobID作为后缀(path = hdfs上的地址 + jobId) 拼接成一个新的hdfs的路径,然后Client通过FileSystem向 hdfs中存放jar包,默认存放10份(NameNode和DateNode等操作)
4. 开始提交任务,Client将作业的描述信息(JobID和拼接后的存放jar包的路径等)RPC返回给ResourceManager
5. ResourceManager进行初始化任务,然后放到一个调度器中
6. ResourceManager读取HDFS上的要处理的文件,开始计算输入分片,每一个分片对应一个MapperTask,根据数据量确定起多少个mapper,多少个reducer
7. NodeManager 通过心跳机制向ResourceManager领取任务(任务的描述信息)
8. 领取到任务的NodeManager去Hdfs上下载jar包,配置文件等
9. NodeManager启动相应的子进程yarnchild,运行mapreduce,运行maptask或者reducetask
10. map从hdfs中读取数据,然后传给reduce,reduce将输出的数据给回hdfs