隨著互聯(lián)網(wǎng)不斷得突飛猛進(jìn), 數(shù)據(jù)就逐漸演變?yōu)榭萍己徒?jīng)濟(jì)發(fā)展的核心 。更是 對(duì)于互聯(lián)網(wǎng)時(shí)代的人類和企業(yè)來說,是至關(guān)重要的,可能對(duì)于普通人來說沒有太大影響,但是對(duì)于國家和大型企業(yè)來說,數(shù)據(jù)就是其命脈,人工智能就是對(duì)數(shù)據(jù)海量化的最好證明之一。
所以,數(shù)據(jù)存儲(chǔ)的穩(wěn)定在一定程度上就可以決定人類經(jīng)濟(jì)的高度。
“但是, 許多人還沒有搞清楚個(gè)人電腦互聯(lián)網(wǎng)是什么,移動(dòng)互聯(lián)網(wǎng)在這里,當(dāng)我們還沒搞清楚移動(dòng)互聯(lián)網(wǎng)的時(shí)候,大數(shù)據(jù)時(shí)代又來了, " 馬云在離任時(shí)說。大數(shù)據(jù)的應(yīng)用已經(jīng)進(jìn)入了一個(gè)快速發(fā)展的時(shí)期,未來一種新的商業(yè)模式的出現(xiàn)有望帶來更大的發(fā)展。
由于以人工智能、5G 和物聯(lián)網(wǎng)為主導(dǎo)的新一輪信息技術(shù)革命,數(shù)據(jù)中心的迅速增長導(dǎo)致存儲(chǔ)產(chǎn)業(yè)鏈的需求大幅增加。在全球和中國數(shù)據(jù)存儲(chǔ)需求迅速增長的背后,必然伴隨著產(chǎn)業(yè)鏈的繁榮。
目前市場(chǎng)中,HDFS分布式存儲(chǔ)系統(tǒng)是很熱門的討論話題,各種企業(yè)也傾向于搭建分布式存儲(chǔ)系統(tǒng)。
那么什么是HDFS 分布式存儲(chǔ)?
HDFS分布式存儲(chǔ)公鏈?zhǔn)且惶淄暾膫€(gè)人數(shù)據(jù)存儲(chǔ)解決方案,它由無數(shù)的節(jié)點(diǎn)以 p2p的形式組成一個(gè)數(shù)據(jù)存儲(chǔ)陣列,采用POC+POST的雙重共識(shí)機(jī)制來識(shí)別及分配獎(jiǎng)勵(lì),采用加密機(jī)制對(duì)數(shù)據(jù)傳輸及存儲(chǔ)過程進(jìn)行保護(hù)形成一套安全、高效、經(jīng)濟(jì)的個(gè)人數(shù)據(jù)存儲(chǔ)全套解決方案。
分布式存儲(chǔ)框架
分布式存儲(chǔ)技術(shù)的實(shí)現(xiàn),往往離不開底層的分布式存儲(chǔ)框架。根據(jù)其存儲(chǔ)的類型,可分為塊存儲(chǔ),對(duì)象存儲(chǔ)和文件存儲(chǔ)。在主流的分布式存儲(chǔ)技術(shù)中,HDFS 屬于文件存儲(chǔ),Swift 屬于對(duì)象存儲(chǔ),而Ceph 可支持塊存儲(chǔ)、對(duì)象存儲(chǔ)和文件存儲(chǔ),故稱為統(tǒng)一存儲(chǔ)。
HDFS 是Hadoop 核心組成之一,是分布式計(jì)算中數(shù)據(jù)存儲(chǔ)管理的基礎(chǔ),被設(shè)計(jì)成適合運(yùn)行在通用硬件上的分布式文件系統(tǒng)。
HDFS 的功能模塊
Client
Client 是用戶與HDFS 交互的手段,當(dāng)文件上傳 HDFS 的時(shí)候,Client 將文件切分成一個(gè)一個(gè)的 Block ,然后進(jìn)行上傳;Client通過與NameNode 交互,來獲取文件的位置信息;與 DataNode 交互,讀取或者寫入數(shù)據(jù);Client 還可以提供NameNode 格式化等一些命令來管理HDFS ;同時(shí),Client 可以通過對(duì)HDFS 的增刪改查等操作來訪問HDFS 。
NameNode
NameNode 就是HDFS 的Master 架構(gòu),它維護(hù)著文件系統(tǒng)樹及整棵樹內(nèi)所有的文件和目錄,HDFS 文件系統(tǒng)中處理客服端讀寫請(qǐng)求、管理數(shù)據(jù)塊(Block )的映射信息、配置副本策略等管理工作由NameNode 來完成。
DataNode
NameNode 下達(dá)命令,DataNode 執(zhí)行實(shí)際操作。DataNode 表示實(shí)際存儲(chǔ)的數(shù)據(jù)塊,同時(shí)可以執(zhí)行數(shù)據(jù)塊的讀寫操作。
Secondary NameNode
Secondary NameNode 的功能主要是輔助NameNode ,分擔(dān)其工作量;在緊急情況下可以輔助恢復(fù)NameNode ,但是它不能替換NameNode 并提供服務(wù)。
HDFS 的優(yōu)勢(shì)
1. 容錯(cuò)性:數(shù)據(jù)自動(dòng)保存多個(gè)副本。通過增加副本的形式,提高容錯(cuò)性。其中一個(gè)副本丟失以后,可以自動(dòng)恢復(fù)。
可以處理大數(shù)據(jù):能夠處理數(shù)據(jù)規(guī)模達(dá)到GB 、TB 甚至PB 級(jí)別的數(shù)據(jù);能夠處理百萬規(guī)模以上的文件數(shù)量。
可以構(gòu)建在廉價(jià)的機(jī)器上,通過多副本機(jī)制,提高可靠性。
HDFS 的特點(diǎn)
1 、故障檢測(cè)和恢復(fù) – 由于 HDFS 包含大量產(chǎn)品硬件,組件故障頻繁。因此, HDFS 應(yīng)具有快速自動(dòng)故障檢測(cè)和恢復(fù)的機(jī)制。
2 、數(shù)據(jù)集的管理 – HDFS 每個(gè)群集都有數(shù)百個(gè)節(jié)點(diǎn)來管理具有大型數(shù)據(jù)集的應(yīng)用程序。
3 、數(shù)據(jù)硬件處理 – 當(dāng)計(jì)算在數(shù)據(jù)物理附近時(shí),可以高效地完成請(qǐng)求的任務(wù)。特別是在涉及大量數(shù)據(jù)集時(shí),它減少了網(wǎng)絡(luò)流量并提高了吞吐量。
HDFS 的功能
1 )數(shù)據(jù)的分布式存儲(chǔ)和處理。
2 ) Hadoop 提供了一個(gè)命令接口來與 HDFS 進(jìn)行交互。
3 ) namenode 和 datanode 的內(nèi)置服務(wù)器可幫助用戶輕松檢查群集的狀態(tài)。
4 )對(duì)文件系統(tǒng)數(shù)據(jù)的流式處理訪問。
5 ) HDFS 提供文件權(quán)限和身份驗(yàn)證。
HDFS的架構(gòu)
下面給出的是 Hadoop 文件系統(tǒng)的體系結(jié)構(gòu)
HDFS 的元素
1.Namenod
Namenode 是包含 GNU/Linux 操作系統(tǒng)的產(chǎn)品硬件。它是一種可以在產(chǎn)品硬件上運(yùn)行的軟件。具有 Namenode 的系統(tǒng)充當(dāng)主服務(wù)器,并執(zhí)行以下任務(wù)。
1 )管理文件系統(tǒng)命名空間
2 )調(diào)節(jié)客戶端對(duì)文件的訪問
3 )執(zhí)行文件系統(tǒng)操作,如重命名、關(guān)閉和打開文件和目錄。
2.Datanode
Datanode 是具有 GNU/Linux 操作系統(tǒng)和數(shù)據(jù)內(nèi)核軟件的產(chǎn)品硬件。對(duì)于 cluster (群集)中的每個(gè)產(chǎn)品硬件 / 系統(tǒng),都將有一個(gè)數(shù)據(jù)節(jié)點(diǎn),這些節(jié)點(diǎn)管理其系統(tǒng)的數(shù)據(jù)存儲(chǔ)。
1 )根據(jù)客戶端請(qǐng)求在文件系統(tǒng)上執(zhí)行讀寫操作。
2 )根據(jù) namenode 的說明執(zhí)行塊創(chuàng)建、刪除和復(fù)制等操作。
3. Block
通常,用戶數(shù)據(jù)存儲(chǔ)在 HDFS 的文件中。文件系統(tǒng)中的文件將分為一個(gè)或多個(gè)片段存儲(chǔ)在單個(gè)數(shù)據(jù)節(jié)點(diǎn)中。這些文件段稱為block 。換句話說, HDFS 可以讀取或?qū)懭氲淖钚?shù)據(jù)量稱為 block 。默認(rèn)塊大小為 64MB ,可以根據(jù) HDFS 配置進(jìn)行更改。
關(guān)鍵詞: