@PostMapping("/login")
public ResultVOregister( StudentWechat studentWechat ){
log.info("授權(quán)登錄信息: {}", JSON.toJSONString(studentWechat));
? ? Map tokenMap =studentService.login(studentWechat);
? ? return ResultVOUtil.success(tokenMap);
}
一 雷恃、基礎(chǔ)鞏固
1.ResourceManager調(diào)度器 ? a.默認(rèn)調(diào)度器 ------先進(jìn)先出FIFO
?????????????????????????????????????????????? b.公平調(diào)度器 ------ 每個(gè)任務(wù)都有執(zhí)行的機(jī)會
2.心跳機(jī)制? ------ NodeManager通過心跳機(jī)制健康狀況匯報(bào)ResourceManager,ResourceManager則會根據(jù)每個(gè)NodeManager的健康狀況調(diào)整分配的任務(wù)數(shù)目费坊。當(dāng)NodeManager認(rèn)為自己的健康狀況“欠佳”時(shí)倒槐,可讓ResourceManager不再分配任務(wù),待健康狀況好轉(zhuǎn)時(shí)附井,再分配新任務(wù)讨越。
二 、Hadoop工作流程:
1. Client中永毅,客戶端提交一個(gè)mr的jar包給JobClient(提交方式:hadoop jar ...)
2. JobClient持有ResourceManager的一個(gè)代理對象把跨,它向ResourceManager發(fā)送一個(gè)RPC請求,告訴ResourceManager作業(yè)開始沼死,
?????? 然后ResourceManager返回一個(gè)JobID和一個(gè)存放jar包的路徑給Client
3. Client將得到的jar包的路徑作為前綴着逐,JobID作為后綴(path = hdfs上的地址 + jobId) 拼接成一個(gè)新的hdfs的路徑,然后Client通過FileSystem向?? hdfs中存放jar包意蛀,默認(rèn)存放10份(NameNode和DateNode等操作)
4. 開始提交任務(wù)耸别,Client將作業(yè)的描述信息(JobID和拼接后的存放jar包的路徑等)RPC返回給ResourceManager
5. ResourceManager進(jìn)行初始化任務(wù),然后放到一個(gè)調(diào)度器中
6. ResourceManager讀取HDFS上的要處理的文件浸间,開始計(jì)算輸入分片太雨,每一個(gè)分片對應(yīng)一個(gè)MapperTask吟榴,根據(jù)數(shù)據(jù)量確定起多少個(gè)mapper,多少個(gè)reducer
7. NodeManager 通過心跳機(jī)制向ResourceManager領(lǐng)取任務(wù)(任務(wù)的描述信息)
8. 領(lǐng)取到任務(wù)的NodeManager去Hdfs上下載jar包魁蒜,配置文件等
9. NodeManager啟動相應(yīng)的子進(jìn)程yarnchild,運(yùn)行mapreduce吩翻,運(yùn)行maptask或者reducetask
10. map從hdfs中讀取數(shù)據(jù)兜看,然后傳給reduce,reduce將輸出的數(shù)據(jù)給回hdfs