HDFS分散式儲存中NameNode 和DataNode 有什麼區別?
隨著網際網路不斷得突飛猛進, 資料就逐漸演變為科技和經濟發展的核心 。更是 對於網際網路時代的人類和企業來說,是至關重要的,可能對於普通人來說沒有太大影響,但是對於國家和大型企業來說,資料就是其命脈,人工智慧就是對資料海量化的最好證明之一。
所以,資料儲存的穩定在一定程度上就可以決定人類經濟的高度。
但是, 許多人還沒有搞清楚個人電腦網際網路是什麼,移動網際網路在這裡,當我們還沒搞清楚移動網際網路的時候,大資料時代又來了, " 馬雲在離任時說。大資料的應用已經進入了一個快速發展的時期,未來一種新的商業模式的出現有望帶來更大的發展。
由於以人工智慧、5G 和物聯網為主導的新一輪資訊科技革命,資料中心的迅速增長導致儲存產業鏈的需求大幅增加。在全球和中國資料儲存需求迅速增長的背後,必然伴隨著產業鏈的繁榮。
目前市場中,HDFS分散式儲存系統是很熱門的討論話題,各種企業也傾向於搭建分散式儲存系統。
那麼什麼是HDFS 分散式儲存?
HDFS分散式儲存公鏈是一套完整的個人資料儲存解決方案,它由無數的節點以 p2p的形式組成一個資料儲存陣列,採用 POC+POST的雙重共識機制來識別及分配獎勵,採用加密機制對資料傳輸及儲存過程進行保護形成一套安全、高效、經濟的個人資料儲存全套解決方案。
分散式儲存框架
分散式儲存技術的實現,往往離不開底層的分散式儲存框架。根據其儲存的型別,可分為塊儲存,物件儲存和檔案儲存。在主流的分散式儲存技術中,HDFS 屬於檔案儲存,Swift 屬於物件儲存,而Ceph 可支援塊儲存、物件儲存和檔案儲存,故稱為統一儲存。
HDFS 是Hadoop 核心組成之一,是分散式計算中資料儲存管理的基礎,被設計成適合執行在通用硬體上的分散式檔案系統。
HDFS 的功能模組
Client
Client 是使用者與HDFS 互動的手段,當檔案上傳 HDFS 的時候,Client 將檔案切分成一個一個的 Block ,然後進行上傳;Client 通過與NameNode 互動,來獲取檔案的位置資訊;與 DataNode 互動,讀取或者寫入資料;Client 還可以提供NameNode 格式化等一些命令來管理HDFS ;同時,Client 可以通過對HDFS 的增刪改查等操作來訪問HDFS 。
NameNode
NameNode 就是HDFS 的Master 架構,它維護著檔案系統樹及整棵樹內所有的檔案和目錄,HDFS 檔案系統中處理客服端讀寫請求、管理資料塊(Block )的對映資訊、配置副本策略等管理工作由NameNode 來完成。
DataNode
NameNode 下達命令,DataNode 執行實際操作。DataNode 表示實際儲存的資料塊,同時可以執行資料塊的讀寫操作。
Secondary NameNode
Secondary NameNode 的功能主要是輔助NameNode ,分擔其工作量;在緊急情況下可以輔助恢復NameNode ,但是它不能替換NameNode 並提供服務。
HDFS 的優勢
1. 容錯性:資料自動儲存多個副本。通過增加副本的形式,提高容錯性。其中一個副本丟失以後,可以自動恢復。
可以處理大資料:能夠處理資料規模達到GB 、TB 甚至PB 級別的資料;能夠處理百萬規模以上的檔案數量。
可以構建在廉價的機器上,通過多副本機制,提高可靠性。
HDFS
的特點
1
、故障檢測和恢復 – 由於
HDFS
包含大量產品硬體,元件故障頻繁。因此,
HDFS
應具有快速自動故障檢測和恢復的機制。
2
、資料集的管理 –
HDFS
每個群集都有數百個節點來管理具有大型資料集的應用程式。
3
、資料硬體處理 – 當計算在資料物理附近時,可以高效地完成請求的任務。特別是在涉及大量資料集時,它減少了網路流量並提高了吞吐量。
HDFS
的功能
1
)資料的分散式儲存和處理。
2
)
Hadoop
提供了一個命令介面來與
HDFS
進行互動。
3
)
namenode
和
datanode
的內建伺服器可幫助使用者輕鬆檢查群集的狀態。
4
)對檔案系統資料的流式處理訪問。
5
)
HDFS
提供檔案許可權和身份驗證。
HDFS的架構
下面給出的是 Hadoop 檔案系統的體系結構
HDFS
的元素
1.Namenod
Namenode
是包含
GNU/Linux
作業系統的產品硬體。它是一種可以在產品硬體上執行的軟體。具有
Namenode
的系統充當主伺服器,並執行以下任務。
1
)管理檔案系統名稱空間
2
)調節客戶端對檔案的訪問
3
)執行檔案系統操作,如重新命名、關閉和開啟檔案和目錄。
2.Datanode
Datanode
是具有
GNU/Linux
作業系統和資料核心軟體的產品硬體。對於
cluster
(群集)中的每個產品硬體
/
系統,都將有一個資料節點,這些節點管理其系統的資料儲存。
1
)根據客戶端請求在檔案系統上執行讀寫操作。
2
)根據
namenode
的說明執行塊建立、刪除和複製等操作。
3. Block
通常,使用者資料儲存在 HDFS
的檔案中。檔案系統中的檔案將分為一個或多個片段儲存在單個資料節點中。這些檔案段稱為
block
。換句話說,
HDFS
可以讀取或寫入的最小資料量稱為
block
。預設塊大小為
64MB
,可以根據
HDFS
配置進行更改。
綜上所述就是本篇文章的全部內容 ,更多HDFS 相關資訊敬請關注。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69979736/viewspace-2712280/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 什麼是HDFS 分散式儲存分散式
- HDFS分散式儲存分散式
- 共享儲存是什麼意思?與DRBD有什麼區別?
- 分散式儲存與傳統網路儲存系統相比有哪些區別分散式
- Redis分散式Session和普通的cookie session有什麼區別?Redis分散式SessionCookie
- 分散式資料倉儲中,全域性和區域性資料倉儲有何區別?分散式
- 物件儲存、檔案儲存、塊儲存這三者之間有什麼區別?物件
- c++中&和&&有什麼區別C++
- Hadoop HDFS 3.3.1分散式儲存搭建Hadoop分散式
- 【知識分享】伺服器分散式和叢集有什麼區別伺服器分散式
- SQL中儲存過程和函式的區別SQL儲存過程函式
- HDFS分散式儲存的意義及技術解析分散式
- 方法(method)和函式(function)有什麼區別?函式Function
- *和body有什麼區別
- 儲存過程和函式的區別儲存過程函式
- 必須掌握的分散式檔案儲存系統—HDFS分散式
- WPF中的StaticResource和DynamicResource有什麼區別
- php中const和define有什麼區別PHP
- java泛型中<?>和<T>有什麼區別?Java泛型
- C++中vector*和vector有什麼區別C++
- C# 中的 == 和 equals()有什麼區別?C#
- SQLAlchemy中filter()和filter_by()有什麼區別SQLFilter
- Keil中translate,build和rebuild有什麼區別Rebuild
- Cache 和 Buffer 有什麼區別?
- mongodb和mysql有什麼區別MongoDBMySql
- shim和polyfill有什麼區別
- float和double有什麼區別?
- int 和 Integer 有什麼區別
- cookie和session 有什麼區別?CookieSession
- session 和 cookie 有什麼區別?SessionCookie
- modbus和tcp有什麼區別?TCP
- Nginx和Apache有什麼區別?NginxApache
- COOKIE和SESSION有什麼區別?CookieSession
- RegisterClass和RegisterClassEx有什麼區別?
- for update 和 for update of 有什麼區別
- PEAR 和 PECL 有什麼區別?
- Activity和Fragment有什麼區別Fragment
- vue和react有什麼區別?VueReact