偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

分布式文件系統(tǒng)HDFS體系和設(shè)計那些事兒

運維 系統(tǒng)運維 分布式
HDFS是高容錯性的,可以部署在低成本的硬件之上,HDFS提供高吞吐量地對應(yīng)用程序數(shù)據(jù)訪問,它適合大數(shù)據(jù)集的應(yīng)用程序,HDFS放開一些POSIX的需求去實現(xiàn)流式地訪問文件數(shù)據(jù)……本文將詳解HDFS體系和設(shè)計那些事兒。

1.介紹

hadoop文件系統(tǒng)(HDFS)是一個運行在普通的硬件之上的分布式文件系統(tǒng),它和現(xiàn)有的分布式文件系統(tǒng)有著很多的相似性,然而和其他的分布式文件系統(tǒng)的區(qū)別也是很明顯的,HDFS是高容錯性的,可以部署在低成本的硬件之上,HDFS提供高吞吐量地對應(yīng)用程序數(shù)據(jù)訪問,它適合大數(shù)據(jù)集的應(yīng)用程序,HDFS放開一些POSIX的需求去實現(xiàn)流式地訪問文件數(shù)據(jù),HDFS開始是為開源的apache項目nutch的基礎(chǔ)結(jié)構(gòu)而創(chuàng)建,HDFS是hadoop項目的一部分,而hadoop又是lucene的一部分。

2.假定和目標

硬件故障

硬件的故障時很正常的,而不是異常。整個HDFS系統(tǒng)將由數(shù)百或數(shù)千個存儲著文件數(shù)據(jù)片斷的服務(wù)器組成。實際上它里面有非常巨大的組成部分,每一個組成部分都會頻繁地出現(xiàn)故障,這就意味著HDFS里的一些組成部分是總是失效的,因此,故障的檢測和自動快速恢復(fù)是HDFS一個很核心的結(jié)構(gòu)目標。

流式的數(shù)據(jù)訪問

運行在HDFS之上的應(yīng)用程序必須流式地訪問它們的數(shù)據(jù)集,它不是典型的運行在常規(guī)的文件系統(tǒng)之上的常規(guī)程序。HDFS是設(shè)計成適合批量處理的,而不是用戶交互式的。重點是在數(shù)據(jù)吞吐量,而不是數(shù)據(jù)訪問的反應(yīng)時間,POSIX強制的很多硬性需求對很多應(yīng)用不是必須的,去掉POSIX的很多關(guān)鍵地方的語義以獲得更好的數(shù)據(jù)吞吐率。 大數(shù)據(jù)集運行在HDFS之上的程序有很大量的數(shù)據(jù)集。這意味著典型的HDFS文件是GB到TB的大小,所以,HDFS是很好地支持大文件。它應(yīng)該提供很高的聚合數(shù)據(jù)帶寬,應(yīng)該一個集群中支持數(shù)百個節(jié)點,還應(yīng)該支持一個集群中千萬的文件。

簡單一致性模型

大部分的HDFS程序?qū)ξ募僮餍枰氖且淮螌懭?,多次讀取的。一個文件一旦創(chuàng)建、寫入、關(guān)閉之后就不需要修改了。這個假定簡單化了數(shù)據(jù)一致的問題和高吞吐量的數(shù)據(jù)訪問。Map-Reduce程序或者網(wǎng)絡(luò)爬蟲程序都是非常完美地適合這個模型。有一個計劃在將來實現(xiàn)文件的附加寫入。

移動計算比移動數(shù)據(jù)更經(jīng)濟

在靠近要被計算的數(shù)據(jù)所存儲的位置來進行計算是最理想的狀態(tài),尤其是在數(shù)據(jù)集特別巨大的時候。這樣消除了網(wǎng)絡(luò)的擁堵,提高了系統(tǒng)的整體吞吐量。這個假定就是將計算離數(shù)據(jù)更近比將文件移動到程序運行的位置更好。HDFS提供了接口,來讓程序?qū)⒆约阂苿拥诫x數(shù)據(jù)存儲的位置更近。

輕便的訪問異構(gòu)的軟硬件平臺

HDFS應(yīng)該設(shè)計成這樣的一種方式,就是簡單輕便地從一個平臺到另外一個平臺,這將推動需要大數(shù)據(jù)集的應(yīng)用更廣泛地采用HDFS作為平臺。

名字節(jié)點和數(shù)據(jù)節(jié)點

HDFS是一個主從結(jié)構(gòu)的體系,一個HDFS集群是由一個名字節(jié)點,它是一個管理文件的命名空間和調(diào)節(jié)客戶端訪問文件的主服務(wù)器,當然還有的數(shù)據(jù)節(jié)點,一個節(jié)點一個,它來管理存儲。HDFS暴露文件命名空間和允許用戶數(shù)據(jù)存儲成文件。

內(nèi)部機制是將一個文件分割成一個或多個的塊,這些塊存儲在一組數(shù)據(jù)節(jié)點中。名字節(jié)點操作文件命名空間的文件或目錄操作,如打開,關(guān)閉,重命名,等等。它同時確定塊與數(shù)據(jù)節(jié)點的映射。數(shù)據(jù)節(jié)點來負責來自文件系統(tǒng)客戶的讀寫請求。

數(shù)據(jù)節(jié)點同時還要執(zhí)行塊的創(chuàng)建,刪除,和來自名字節(jié)點的塊復(fù)制指示。

名字節(jié)點和數(shù)據(jù)節(jié)點都是軟件運行在普通的機器之上,機器典型的都是linux,HDFS是用java來寫的,任何支持java的機器都可以運行名字節(jié)點或數(shù)據(jù)節(jié)點,利用java語言的超輕便型,很容易將HDFS部署到大范圍的機器上。典型的部署時將有一個專門的機器來運行名字節(jié)點軟件,機群中的其他機器運行一個數(shù)據(jù)節(jié)點實例。體系結(jié)構(gòu)排斥在一個機器上運行多個數(shù)據(jù)節(jié)點的實例,但是實際的部署不會有這種情況。

集群中只有一個名字節(jié)點極大地簡單化了系統(tǒng)的體系。名字節(jié)點是仲裁者和所有HDFS的元數(shù)據(jù)的倉庫。系統(tǒng)設(shè)計成用戶的實際數(shù)據(jù)不經(jīng)過名字節(jié)點。#p#

文件命名空間

HDFS支持傳統(tǒng)的繼承是的文件組織。一個用戶或一個程序可以創(chuàng)建目錄,存儲文件到很多目錄之中。文件系統(tǒng)的名字空間層次和其他的文件系統(tǒng)相似??梢詣?chuàng)建、移動文件,將文件從一個目錄移動到另外一個,或重命名。HDFS現(xiàn)在還沒有實現(xiàn)用戶的配額和訪問控制。HDFS還不支持硬鏈接和軟鏈接。然而,HDFS結(jié)構(gòu)不排斥在將來實現(xiàn)這些功能。

名字節(jié)點維護文件的系統(tǒng)的命名空間,任何文件命名空間的改變和或?qū)傩远急幻止?jié)點記錄。應(yīng)用程序可以指定文件的復(fù)制數(shù),文件的拷貝被稱作文件的復(fù)制因子,這些信息有名字空間來負責存儲。

數(shù)據(jù)復(fù)制

HDFS設(shè)計成可靠地在集群中的大量機器之間存儲非常大量的文件,它以塊序列的形式存儲每一個文件。文件的除了最后一個塊的其他塊都是相同的大小。屬于文件的塊為了故障容錯而被復(fù)制。塊的大小和復(fù)制數(shù)可以為每個文件配置。HDFS中的文件都是嚴格地任何時候只有一個寫操作。程序可以特別地為某個文件指定。復(fù)制數(shù),文件的復(fù)制數(shù)可以在文件的創(chuàng)建的時候指定或者以后改變。名字節(jié)點來做所有的塊復(fù)制,它周期性地接受來自集群中數(shù)據(jù)節(jié)點的心跳和塊報告。一個心跳的收條表示這個數(shù)據(jù)節(jié)點是健康的,是渴望服務(wù)數(shù)據(jù)的。一個塊報告包括該數(shù)據(jù)節(jié)點上的所有的塊列表。

復(fù)制塊的放置位置。第一個塊的階段

復(fù)制塊的放置位置的選擇嚴重影響HDFS的可靠性和性能。這個特征是HDFS和其他的分布式文件系統(tǒng)的區(qū)別。這個特征需要很多的調(diào)節(jié)和經(jīng)驗。根據(jù)機架的復(fù)制布局目的就是提高數(shù)據(jù)的可靠性,可用性和網(wǎng)絡(luò)帶寬的利用。

當前的這方面的實現(xiàn)方式是在這個方向上的第一步。短期的目標實現(xiàn)是這個方式要在生產(chǎn)環(huán)境下去驗證,以得到它的行為和實現(xiàn)一個為將來的測試和研究更佳的方式的基礎(chǔ)。

HDFS運行在跨越很多機架的集群機器之上。兩個不同機架上的節(jié)點通信是通過交換機的,在大多數(shù)情況下,兩個在相同機架上的節(jié)點之間的網(wǎng)絡(luò)帶寬是優(yōu)于在不同的機架之上的兩個機器。

在開始的時候,每一個數(shù)據(jù)節(jié)點自檢它所屬的機架,然后在向名字節(jié)點注冊的時候告知它的機架id。HDFS提供接口以便很容易地掛載檢測機架標示的模塊。一個簡單但不是最優(yōu)的方式就是將復(fù)制跨越不同的機架,這樣以保證在這個機架出現(xiàn)故障而不丟失數(shù)據(jù),還能在讀數(shù)據(jù)的時候充分利用不同機架的帶寬。這個方式均勻地將復(fù)制分散在集群中以簡單化地實現(xiàn)了組件實效的負載均衡,然而,這個方式增加了寫的成本,因為寫的時候需要傳輸文件塊到很多的機架。

在大多數(shù)復(fù)制數(shù)為3的普通的情況下,HDFS放置方式是將第一個放在本地節(jié)點,將第二個復(fù)制放到本地機架上的另外一個節(jié)點而將第三個復(fù)制放到不同機架上的節(jié)點。這種方式減少了機架內(nèi)的寫流量,提高了寫的性能。機架失效的機會遠小于機器實效的。這種方式?jīng)]有影響數(shù)據(jù)的可靠性和可用性的保證。但是它減少了讀操作的網(wǎng)絡(luò)聚合帶寬,因為文件塊存在

兩個不同的機架, 而不是三個。文件的復(fù)制不是均勻地分布在機架當中。1/3在同一個節(jié)點上,第二個1/3復(fù)制在同一個機架上,另外1/3是均勻地分布在其他的機架上。這種方式提高了寫性能,而沒有影響數(shù)據(jù)的可靠性和讀性能。

上面的實現(xiàn)方式正在進行中。

復(fù)制的選擇

HDFS嘗試滿足一個讀操作來自離它最近的復(fù)制。假如在讀節(jié)點的同一個機架上就有這個復(fù)制,就直接讀這個,如果HDFS集群是跨越多個數(shù)據(jù)中心,那么本地數(shù)據(jù)中心的復(fù)制是優(yōu)先于遠程的復(fù)制。

安全模式

在啟動的時候,名字節(jié)點進入一個特殊的狀態(tài)叫做安全模式。安全模式是不發(fā)生文件塊的復(fù)制的。名字節(jié)點接受來自數(shù)據(jù)節(jié)點的心跳和塊報告。一個塊報告包括的是數(shù)據(jù)節(jié)點向名字節(jié)點報告數(shù)據(jù)塊的列表。

每一個塊有一個特定的最小復(fù)制數(shù)。當名字節(jié)點檢查這個塊已經(jīng)大于最小的復(fù)制數(shù)就被認為是安全地復(fù)制了,當達到配置的塊安全復(fù)制比例時(+30s)名字節(jié)點就退出安全模式。它將檢測數(shù)據(jù)塊的列表,將小于特定復(fù)制數(shù)的塊復(fù)制到其他的數(shù)據(jù)節(jié)點。#p#

文件系統(tǒng)的元數(shù)據(jù)的持久化

HDFS的命名空間是由名字節(jié)點來存儲的。名字節(jié)點用事務(wù)日志叫做EditLog來持久化每一個對文件系統(tǒng)的元數(shù)據(jù)的改變,例如,在HDFS中創(chuàng)建一個新的文件,名字節(jié)點將會插入一吊記錄到EditLog來標示這個改變。類似地,改變文件的復(fù)制因子也會向EditLog中插入一條記錄。名字節(jié)點在本地文件系統(tǒng)中用一個文件來存儲這個EditLog。完整的文件系統(tǒng)命名空間、文件塊的映射和文件系統(tǒng)的配置都存在一個叫FsImage的文件中,F(xiàn)sImage也是名字節(jié)點的本地文件系統(tǒng)中。

名字節(jié)點在內(nèi)存中有一個完整的文件系統(tǒng)命名空間和文件塊的映射鏡像。這個元數(shù)據(jù)時設(shè)計成緊湊的,這樣4G的內(nèi)存的名字節(jié)點就能很輕松地處理非常大文件數(shù)和目錄,當名字節(jié)點啟動,它將從磁盤中讀取FsImage和EditLog應(yīng)用EditLog中的所有的事務(wù)到內(nèi)存中的FsImage表示方法,然后將新的元數(shù)據(jù)刷新到本地磁盤的新的FsImage中這樣可以截去舊的EditLog,因為事務(wù)已經(jīng)被處理并已經(jīng)持久化的FsImage中。這個過程叫做檢查點。在現(xiàn)在的實現(xiàn)檢查點在名字節(jié)點啟動的時候發(fā)生。支持周期性的檢查點正在進行中。

數(shù)據(jù)節(jié)點存儲HDFS數(shù)據(jù)到本地的文件系統(tǒng)中。數(shù)據(jù)節(jié)點沒有關(guān)于HDFS文件的信息。它以單獨的文件存儲每一個HDFS的塊到本地文件系統(tǒng)中。數(shù)據(jù)節(jié)點不產(chǎn)生所有的文件到同一個目錄中,而是它用啟發(fā)式的檢測最優(yōu)的每一個目錄的文件數(shù)。它在適當?shù)臅r候創(chuàng)建子目錄。在本地文件的同一個目錄下創(chuàng)建所有的文件不是最優(yōu)的,因為本地文件系統(tǒng)可能單個目錄里有數(shù)目巨大的文件效率較差。當數(shù)據(jù)節(jié)點啟動的時候,它將掃描它的本地文件系統(tǒng),根據(jù)本地的文件產(chǎn)生一個所有HDFS數(shù)據(jù)塊的列表并報告給名字節(jié)點,這個報告稱作塊報告。

通信協(xié)議

所有的通信協(xié)議都是在TCP/IP協(xié)議之上的。一個客戶端和明確的配置端口的名字節(jié)點建立連接之后,它和名字節(jié)點的協(xié)議是ClientProtocal。數(shù)據(jù)節(jié)點和名字節(jié)點之間用DatanodeProtocal。詳細的這些協(xié)議將在后面解釋。

RPC抽象地包裝了ClientProtocol和DataNodeProtocol。根據(jù)設(shè)計,名字節(jié)點不會發(fā)起一個RPC,它只是對數(shù)據(jù)節(jié)點和客戶端發(fā)起的RPC做出反饋。

魯莽性

HDFS的主要目標就是在存在故障的情況下可靠地存儲數(shù)據(jù)。三個普通的故障是名字節(jié)點實效,數(shù)據(jù)節(jié)點實效,和網(wǎng)絡(luò)斷開。

磁盤故障,心跳和重新復(fù)制

一個數(shù)據(jù)節(jié)點周期性發(fā)送一個心跳信息到名字節(jié)點。網(wǎng)絡(luò)斷開會造成一個數(shù)據(jù)節(jié)點子集和名字節(jié)點失去聯(lián)系。名字節(jié)點發(fā)現(xiàn)這種情況是根據(jù)有沒有了心跳信息。名字節(jié)點標記這些數(shù)據(jù)節(jié)點是死掉了,就不再將新的IO請求轉(zhuǎn)發(fā)到這些數(shù)據(jù)節(jié)點上。而這些數(shù)據(jù)節(jié)點上的數(shù)據(jù)將對HDFS不再可用。這將導(dǎo)致一些塊的復(fù)制因子降低到指定的值。

名字節(jié)點檢查所有的需要復(fù)制的塊,并開始復(fù)制他們到其他的數(shù)據(jù)節(jié)點上。重新復(fù)制會因為很多原因而必須 例如:數(shù)據(jù)節(jié)點變得比可用,被破壞了的復(fù)制,數(shù)據(jù)節(jié)點上的磁盤損壞或增加了文件的復(fù)制因子。#p#

集群的重新均衡

HDFS體系結(jié)構(gòu)是兼容數(shù)據(jù)的重新平衡方案的。在數(shù)據(jù)節(jié)點的可用空間降低到一個極限時數(shù)據(jù)可能自動的從一個數(shù)據(jù)節(jié)點移動到另外一個,而且一個突然地對一個特殊的文件發(fā)生高請求時也會引發(fā)額外的復(fù)制,將集群中的其他數(shù)據(jù)重新均衡。這種類型的重新均衡方案還沒有實現(xiàn)。

數(shù)據(jù)正確性

從數(shù)據(jù)節(jié)點上取一個文件塊有可能出現(xiàn)損壞的情況,這種情況可能會發(fā)生是因為存儲設(shè)備,差勁的網(wǎng)絡(luò),軟件的缺陷。HDFS客戶端實現(xiàn)了校驗去檢查HDFS的文件內(nèi)容。當一個客戶端創(chuàng)建一個HDFS文件,它為每一個文件快計算一個校驗碼并存儲校驗碼在同一個HDFS名字空間中的一個單獨的隱藏文件中。當客戶端找回這個文件內(nèi)容時,它再根據(jù)這個校驗碼來驗證從數(shù)據(jù)節(jié)點接受到的數(shù)據(jù)。如果不對,客戶端可以從另外一個有該塊復(fù)制的數(shù)據(jù)節(jié)點取這個塊。

元數(shù)據(jù)磁盤實效

FsImage和Editlog是HDFS的中心數(shù)據(jù)結(jié)構(gòu)。這些文件的損壞會導(dǎo)致整個集群的不工作。應(yīng)為這個原因,名字節(jié)點可以配置成多個FsImage和EditLog的拷貝。任何的不管對FsImage和EditLog的更新都會同步地更新每一個拷貝。

這個同步的更新多個EditLog可能降低了名字節(jié)點的可支持名字空間的每秒交易數(shù)。但是這個降低是可接受的,因為HDFS程序都是自然地對數(shù)據(jù)要求強烈,而不是對元數(shù)據(jù)的要求強烈。名字節(jié)點重新啟動時,選擇最新的一致的FsImage和EditLog。

名字節(jié)點隊以HDFS集群是單點實效的。假如名字節(jié)點實效,手工的干涉是必要的,當前,自動的重啟和切換到另外的名字節(jié)點目前還不支持。

快照

快照支持在一個特定時間存儲一個數(shù)據(jù)拷貝,快照的一個用途可以將實效的集群回滾到之前的一個正常時間點上。HDFS目前還不支持快照,但是將被將來的版本支持。

數(shù)據(jù)組織

數(shù)據(jù)塊

HDFS是設(shè)計成支持大文件數(shù)的。程序也是和HDFS一樣地處理大數(shù)據(jù)集。這些程序?qū)憯?shù)據(jù)僅一次,讀數(shù)據(jù)一次或多次,需要一個比較好的流讀取速度。HDFS支持文件的寫一次讀多次的。HDFS典型的塊大小是64M,一個HDFS文件可以最多被切分成128MB個塊,每一個塊分布在不同的數(shù)據(jù)節(jié)點上。

分段運輸

當一個客戶端請求創(chuàng)建一個文件的時候,并不是立即請求名字節(jié)點,事實是,HDFS客戶端在本地的文件中緩存文件數(shù)據(jù),應(yīng)用程序的寫操作明顯地轉(zhuǎn)移到這個臨時的本地文件。當本地文件堆積到大于HDFS塊大小的時候,客戶端聯(lián)系名字節(jié)點。名字節(jié)點插入文件名到文件系統(tǒng)層次當中,然后構(gòu)造一個數(shù)據(jù)塊。名字節(jié)點回應(yīng)客戶端的請求包括數(shù)據(jù)節(jié)點(可能多個)的標識和目標數(shù)據(jù)塊,客戶端再將本地的臨時文件刷新指定的數(shù)據(jù)節(jié)點數(shù)據(jù)塊中。

當文件關(guān)閉,還有一些沒有刷新的本地臨時文件被傳遞到數(shù)據(jù)節(jié)點??蛻舳司屯ㄖ止?jié)點,這個文件已經(jīng)關(guān)閉。這個時間和,名字節(jié)點提交文件的創(chuàng)建操作到持久化存儲。假如名字節(jié)點在文件關(guān)閉之前死掉,文件就丟掉了。

上面的方式在仔細地考慮運行在HDFS之上的目標程序之后被采用。應(yīng)用程序需要流式地寫文件。如果客戶端直接寫到遠程文件系統(tǒng),而沒有本地的緩沖對網(wǎng)速和網(wǎng)絡(luò)吞吐量產(chǎn)生相當?shù)挠绊?。這種方式也不是沒有前科,早期的分布是文件系統(tǒng),例如AFS也用客戶端的緩沖來提高性能,POSIX需求也不拘束高性能的數(shù)據(jù)上傳的實現(xiàn)。

流水線操作

當客戶端寫數(shù)據(jù)到HDFS文件中,像上面所講數(shù)據(jù)首先寫道本地文件中,假設(shè)HDFS的復(fù)制因子是3,當本地文件堆積到一塊大小的數(shù)據(jù),客戶端從名字節(jié)點獲得一個數(shù)據(jù)節(jié)點的列表。這個列表描述一些數(shù)據(jù)節(jié)點將接管塊的復(fù)制??蛻舳怂⑿聰?shù)據(jù)塊到第一個數(shù)據(jù)節(jié)點。第一個數(shù)據(jù)節(jié)點開始接收數(shù)據(jù)到一個很小的位置(4kb),寫每一個部分到本地的庫中,而且傳輸每一個部分到列表中的第二個數(shù)據(jù)節(jié)點,這樣就輪到第二個數(shù)據(jù)節(jié)點,第二個數(shù)據(jù)節(jié)點如同第一個數(shù)據(jù)節(jié)點給第三個數(shù)據(jù)節(jié)點,第三個數(shù)據(jù)節(jié)點直接寫到本地的庫中。一個數(shù)據(jù)節(jié)點可以接受來自前一個的節(jié)點的數(shù)據(jù),同時還可以將數(shù)據(jù)流水式傳遞給下一個節(jié)點,所以,數(shù)據(jù)時流水式地從一個數(shù)據(jù)節(jié)點傳遞到下一個。

可訪問

HDFS可以由應(yīng)用程序多種方式存取,自然地,HDFS提供為程序提供java api,為c語言包裝的java api也是可以的,還有一個HTTP瀏覽HDFS中的文件,通過WebDAV協(xié)議訪問HDFS內(nèi)容庫正在進行。

DFSShell

HDFS允許用戶數(shù)據(jù)由文件和文件夾式的管理,它提供一個接口叫DFSShell,讓用戶和HDFS中的數(shù)據(jù)交互

命令集的語法跟其他的shells(bash,csh)相似

創(chuàng)建目錄foodir : hadoop dfs -mkdir /foodir

查看文件 /foodir/myfile.txt : hadoop dfs -cat /foodir/myfile.txt

刪除文件/foodir/myfile.txt : hadoop dfs -rm /foodir myfile.txt

DFSAdmin

DFSAdmin命令集是用于管理dfs集群的,這些命令只由HDFS管理員使用

將集群設(shè)置成安全模式 : bin/hadoop dfsadmin -safemode enter

產(chǎn)生一個數(shù)據(jù)節(jié)點的列表 : bin/hadoop dfsadmin -report

去掉一個數(shù)據(jù)節(jié)點: bin/hadoop dfsadmin -decommission datanodename

瀏覽接口

典型的HDFS安裝配置了一個web 服務(wù)去暴露HDFS的命名空間,允許web瀏覽器去瀏覽HDFS的命名空間和查看

HDFS文件的內(nèi)容

空間回收

  • 文件刪除和恢復(fù)刪除

當一個文件被用戶或程序刪除,它并不是立即從HDFS中刪除,而是HDFS將它重新命名到/trash目錄下的文件,這個文件只要還在/trash目錄下保留就可以重新快速恢復(fù)。當這個文件在/trach里呆夠配置的時間,名字節(jié)點就將它從名字空間中刪除,這個刪除將導(dǎo)致這個文件的文件塊都被釋放。這個時間間隔可以被感知,從用戶刪除文件到HDFS的空閑空間的增加。

用戶可以在刪除一個文件之后,它還在/trash目錄下的情況下,恢復(fù)刪除一個文件,如果一個用戶希望恢復(fù)刪除他已經(jīng)刪除的文件,可以瀏覽/trash目錄,重新獲得這個文件。/trash目錄之保存最新版本的刪除文件。/trash目錄也像其他目錄一樣,只有一個特殊的功能,就是HDFS應(yīng)用一個特定的規(guī)則,自動地刪除這個目錄里的文件,當前默認的規(guī)則是刪除在此目錄呆夠6小時的文件,將來這個規(guī)則將由一個接口來配置。

  • 減少復(fù)制因子

當文件的復(fù)制因子減少了,名字節(jié)點選擇過度的復(fù)制去刪除掉,下一次的心跳的時候傳遞這個信息給數(shù)據(jù)節(jié)點。數(shù)據(jù)節(jié)點移除相應(yīng)的塊,相應(yīng)的空閑空間將顯示在集群中,這一點要注意的就是這個可能會有段時間過程在完成setReplication和顯示集群的空閑空間。

責任編輯:黃丹 來源: huihoo.com
相關(guān)推薦

2013-01-07 10:29:31

大數(shù)據(jù)

2012-08-31 16:04:11

HDFS分布式文件系統(tǒng)

2013-06-18 14:00:59

HDFS分布式文件系統(tǒng)

2013-06-18 14:33:13

HDFS分布式文件系統(tǒng)

2013-01-07 10:42:43

HDFS

2013-01-09 10:16:09

HDFS

2021-04-13 08:06:17

分布式HDFS存儲大型數(shù)據(jù)

2018-03-01 16:26:30

HDFSHadoop系統(tǒng)

2010-11-01 05:50:46

分布式文件系統(tǒng)

2013-06-13 11:29:14

分布式分布式緩存

2013-06-18 16:58:12

HDFS分布式文件系統(tǒng)

2010-06-07 14:02:13

Hadoop的分布式文

2013-05-27 14:46:06

文件系統(tǒng)分布式文件系統(tǒng)

2018-08-14 10:44:58

HadoopHDFS命令

2017-10-17 08:33:31

存儲系統(tǒng)分布式

2010-11-15 13:24:07

分布式文件系統(tǒng)

2012-09-19 15:05:24

MogileFS分布式文件系統(tǒng)

2010-06-04 18:45:43

Hadoop分布式文件

2012-09-19 13:43:13

OpenAFS分布式文件系統(tǒng)

2012-10-11 14:31:57

FastDFSMogileFS
點贊
收藏

51CTO技術(shù)棧公眾號