您好,登錄后才能下訂單哦!
小編給大家分享一下hadoop核心HDFS有什么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
hadoop的兩大核心之一
海量數據的存儲(HDFS)
什么是HDFS?
hadoop distributed file system(hadoop分布式文件系統)
是一種允許文件通過網絡在多臺主機上分享的文件系統,
可讓多機器上的多用戶分享文件和存儲空間.
特點:
1.通透性.讓實際上是通過網絡來訪問文件的動作,由程序與用戶看來,
就像是訪問本地的磁盤一般.
2.容錯性.即使系統中有某些節點脫機,整體來說系統仍然可以持續運作
而不會有數據損失.
適用場景:
適用于一次寫入多次查詢的情況,不支持并發寫情況,小文件不合適.
HDFS的架構
主從結構
主節點,只有一個: namenode
從節點,有很多個: datanodes
namenode負責:
接收用戶操作請求
維護文件系統的目錄結構
管理文件與block之間關系,block與datanode之間關系
datanode負責:
存儲文件
文件被分成block存儲在磁盤上
為保證數據安全,文件會有多個副本
NameNode(可以理解為老大)
是整個文件系統的管理節點.它維護著整個文件系統的文件目錄樹,
文件/目錄的元信息和每個文件對應的數據塊列表.接收用戶的操作請求.
文件包括(這三個都保存在linux的文件系統中):
fsimage:元數據鏡像文件,存儲某一時段NameNode內存元數據信息.
edits:操作日志文件.
fstime:保存最近一次checkpoint的時間
工作特點:
1.Namenode始終在內存中保存metedata,用于處理"讀請求".
2.到有"寫請求"到來時,namenode會首先寫editlog到磁盤,
即向edits文件中寫日志,成功返回后,才會修改內存,并且向客戶端返回.
3.Hadoop會維護一個fsimage文件,也就是namenode中metedata的鏡像,
但是fsimage不會隨時與namenode內存中的metedata保持一致,
而是每隔一段時間通過合并edits文件來更新內容.Secondary namenode
就是用來合并fsimage和edits文件來更新NameNode的metedata的.
DataNode(可以理解為小弟)
提供真實文件數據的存儲服務.
最基本的存儲單位:block(文件塊),默認大小為64M
Secondary NameNode(可以理解為老大的助理)
HA(High Available)的一個解決方案.但不支持熱備.配置即可
默認在安裝在NameNode節點上,但這樣...不安全!
(生產環境中,建議分開安裝)
執行過程:
從NameNode上下載元數據信息(fsimage,edits),然后把二者合并,生成
新的fsimage,在本地保存,并將其推送到NameNode,替換舊的fsimage.
工作流程:
1.secondarynamenode通知namenode切換edits文件
2.secondarynamenode從namenode獲得fsimage和edits(通過http)
3.secondarynamenode將fsimage載入內存,然后開始合并edits
4.secondarynamenode將新的fsimage發回給namenode
5.namenodenamenode用新的fsimage替換舊的fsimage
hadoop的整個體系結構就是構建在RPC之上的
RPC(Remote Procedure Call),(RPC采用客戶機/服務器模式)
遠程過程調用協議,它是一種通過網絡從遠程計算機程序上請求服務,
而不需要了解底層網絡技術的協議.
具體實現過程:
首先,客戶機調用進程發送一個有進程參數的調用信息到服務進程,
然后等待應答信息.在服務器端,進程保持睡眠狀態直到調用信息的到達為止.
當一個調用信息到達,服務器獲得進程參數,計算結果,發送答復信息,
然后等待下一個調用信息,
最后,客戶端調用進程接收答復信息,獲得進程結果,然后調用執行繼續進行.
服務端提供的對象必須是一個接口,接口extends VersioinedProtocal
客戶端能夠的對象中的方法必須位于對象的接口中.
以上是“hadoop核心HDFS有什么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。