91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

HDFS中Short-Circuit是什么

發布時間:2021-12-09 14:32:30 來源:億速云 閱讀:237 作者:小新 欄目:大數據

這篇文章主要為大家展示了“HDFS中Short-Circuit是什么”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“HDFS中Short-Circuit是什么”這篇文章吧。

解釋下 HDFS 的 Short-Circuit ?

這是一個比較高段位的冷門問題了,我也是一般在面高階的程序員才會拋出這樣的問題,對于考察系統底層原理掌握度方面還是挺有好的。

先說目的:

因為Hadoop的一大基本原則就是移動數據不如移動計算,所以一般HDFS的client端經常會和提供數據的DataNode在同一個節點,Short Circuit Local Reads的目的就是提高在這種情況下的數據讀取性能。

正常的數據讀取流程,DataNode必須為每個正在讀取數據塊的客戶端保留一個線程和一個TCP套接字。內核中會有TCP協議的開銷,以及DataTransferProtocol協議的開銷,因此這里有很大的優化空間。

再說流程:

1. client 會向DataNode請求創建一塊共享內存,DataNode創建共享內存文件并將共享內存文件描述符返回給 client。(內存文件描述符,Unix的一種機制,目的是讓DataNode不是將整個目錄傳遞給客戶端,而是打開塊文件和元數據文件,保證數據的安全性)

2. client  申請共享內存中的槽位,并向DataNode請求要讀取的副本文件描述符,DataNode打開副本文件并將數據塊文件和元數據文件的文件描述符返回給 client。

3. client 讀取完副本后,異步向DataNode請求釋放文件描述符及相應槽位。

另外,其實這個問題也不一定要等面試官問了才回答,在他問你HDFS的讀寫過程的時候,你也可以在最后適當地插上兩句,凸顯逼格。

像這樣:

“剛才我說的還是比較基礎和常規的讀寫流程,實際上HDFS還有一個Short-Circuit機制可以來做數據本地讀取的優化,這是更加底層的內容了...”

接下來可以先別急著講,先看看面試官的反應看他有沒有興趣聽,有的話就可以把上面這一段說出去了,當然也有可能連面試官都沒聽過這個東西,那就無所謂了,你說的內容已經唬到他了。

之前說過在面試的過程中可以適當地引導面試官的提問方向,往你擅長的方向上帶,剛才說的其實就是一種引導的手段了,掌握這個技能的話你會發現你在面試中能表現得更自如,不用被牽著鼻子走。


當兩個客戶端嘗試訪問對HDFS相同的文件,會發生什么?

HDFS只支持獨占寫入。

當第一個客戶端連接Namenode打開文件進行寫入時,Namenode授予租約的客戶端創建這個文件。當第二個客戶端試圖打開同一個文件寫入時,Namenode會發現該文件的租約已經授予給另一個客戶端,并拒絕第二個客戶端打開請求。

這個問題還是比較簡單的,考查的是你是不是真的有實操過,是不是有踩過坑且有思考。


為什么 HDFS 不適合存儲過多的小文件?

兩個重點,一個是多,一個是小,分別解釋。

1)小文件過多,會過多占用namenode的內存,并浪費block。 

  • 文件的元數據,都是存儲在namenode上 

元數據包括文件被分成了哪些blocks,每個block存儲在哪些服務器的哪個block塊上。小文件過多,元數據必定過多。HDFS的每個文件、目錄、數據塊占用150B,因此300M內存情況下,只能存儲不超過300M/150=2M個文件/目錄/數據塊的元數據 

  • dataNode會向NameNode發送兩種類型的報告:增量報告和全量報告

增量報告是當dataNode接收到block或者刪除block時,會向nameNode報告。全量報告是周期性的,NN處理100萬的block報告需要1s左右,這1s左右NN會被鎖住,其它的請求會被阻塞。

2)文件過小,尋道時間大于數據讀寫時間,這不符合HDFS的設計: 

HDFS為了使數據的傳輸速度和硬盤的傳輸速度接近,則設計將尋道時間相對最小化,將block的大小設置的比較大,這樣讀寫數據塊的時間將遠大于尋道時間,接近于硬盤的傳輸速度。

以上是“HDFS中Short-Circuit是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宣城市| 平定县| 大邑县| 凤庆县| 江源县| 石门县| 黔南| 杭锦后旗| 南陵县| 纳雍县| 宝兴县| 松潘县| 晋江市| 高雄县| 黄石市| 祥云县| 奉节县| 伊金霍洛旗| 金湖县| 屏山县| 乐业县| 建德市| 翁源县| 竹山县| 海阳市| 外汇| 巴中市| 当雄县| 夏津县| 讷河市| 墨脱县| 宁海县| 长武县| 固始县| 东阳市| 天峻县| 常熟市| 岳阳县| 盈江县| 黄平县| 江阴市|