DataNode工作和服務原理

2022-07-16 09:42:11 字數 1135 閱讀 8094

datanode檢視他的屬性,可以分成以下幾個方面:

1.offerservice()方法,此方法在datanode主迴圈中執行,做的事情包括和namenode心跳互動;通知namenode一段時間以來收到的block;本機block的報告

2.dataxceiverserver,主要處理block的讀寫

3.blockscanner,對本機block的掃瞄和校驗處理

4.fsdataset,本機block儲存的入口

5.ipcserver,主要是datanode和datanode之間recover block時使用。

這裡主要說明第1點,其它幾點在另外一文中已經介紹過,offerservice的主要流程見下圖:

offerservice是在乙個while迴圈裡面被執行,只要datanode存活,就一直被執行,工作流程如下:

1.如果距離上一次heartbeat時間超過了指定的時間,呼叫namenode.sendheartbeat方法,namenode是ipc的框架下的乙個proxy,可以認為就是遠端的namenode,該方法向namenode匯報datanode還存活,以及匯報datanode的利用率,namenode會返回一系列關於本datanode的blockcommand

2.datanode處理返回的blockcommand,blockcommand有dna_transfer(傳送block去指定的datanode),dna_invalidate(刪除指定的本機上面的block),dna_shutdown(datanode停止工作),dna_register(datanode向namenode註冊),dna_finalize(datanode完成公升級流程),dna_recoverblock(recover block)等

3.報告自從上一次心跳以來datanode收到的block資訊,呼叫namenode.blockreceived方法

4.如果距離上一次block report時間超過了指定的時間,呼叫namenode.blockreport方法,namenode會返回一系列的datanodecommand,接下來的處理就和第2點一樣了

5.根據其他條件,適當的做一些處理,主要是為了考慮資源利用等等

session程序和服務

session如果是存在程序內的話,當程序重啟,session資料就會丟失。所以就找到了個辦法,不吧session放在程序內,而是放在伺服器上。這樣子只要伺服器不重啟,session資料就不會丟失.1.開始服務 開始本機上的asp.net state service 服務 2.更改配置檔案 在sys...

DataNode工作原理 四

datanode的作用 提供真實檔案資料的儲存服務.以檔案塊進行儲存。檔案塊 block 最基本的儲存單位。對檔案內容而言,乙個檔案的長度大小是size,那麼從檔案的0偏移開始,按照固定的大小,順序對檔案進行劃分並編號,劃分好的每乙個塊稱乙個block。hdfs預設的block大小是128m,以乙個...

Springcloud 服務熔斷和服務降級配置

服務熔斷 概念 微服務中,熔斷機制是應對雪崩效應的一種微服務鏈路保護機制。當扇出鏈路的某個微服務不可用或者響應時間太長時,會進行服務降級,進而熔斷該節點微服務的呼叫,快速返回 錯誤 的響應資訊。當檢測到該節點微服務呼叫響應正常後恢復呼叫鏈路。服務熔斷的作用類似於我們家用的保險絲,當某服務出現不可用或...