欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
HDFS用戶(hù)指南(翻譯)


發(fā)表時(shí)間:2008-08-14 關(guān)鍵字: hdfs hadoop

HDFS用戶(hù)指南
原文地址:http://hadoop.apache.org/core/docs/current/hdfs_user_guide.html
譯者:dennis zhuang(killme2008@gmail.com),有錯誤請指正,多謝。

目的

本文檔可以作為使用Hadoop分布式文件系統用戶(hù)的起點(diǎn),無(wú)論是將HDFS應用在一個(gè)Hadoop集群中還是作為一個(gè)單獨的分布式文件系統使用。HDFS被設計成可以馬上在許多環(huán)境中工作起來(lái),那么一些HDFS的運行知識肯定能大大地幫助你對一個(gè)集群做配置改進(jìn)和診斷。

概覽

HDFS是Hadoop應用的主要分布式存儲。一個(gè)HDFS集群由一個(gè)管理文件系統元數據的NameNode,和存儲實(shí)際數據的一些Datanode組成。HDFS的架構在這里有詳細描述。這個(gè)用戶(hù)指南主要提供給需要跟HDFS集群打交道的用戶(hù)或者管理員。HDFS架構文章中的圖描繪了Namenode、Datanode和客戶(hù)端們之間的基本交互。本質(zhì)上,客戶(hù)端與Namenode通訊獲取或者修改文件的元數據,與 Datanode進(jìn)行實(shí)際的IO操作。

下面的列表應該是大多數用戶(hù)關(guān)心的HDFS突出特點(diǎn)。斜體字的術(shù)語(yǔ)將在后面詳細描述。

1)Hadoop,包括HDFS,非常適合廉價(jià)機器上的分布式存儲和分布式處理。它是容錯的、可伸縮的,并且非常易于擴展。并且,以簡(jiǎn)單性和適用性著(zhù)稱(chēng)的Map-Reduce是Hadoop不可或缺的組成部分。

2)HDFS的默認配置適合于大多數安裝的應用。通常情況下,只有在一個(gè)非常大規模的集群上才需要修改默認配置。

3)HDFS是用java編寫(xiě)的,支持大多數平臺。

4)支持shell命令行風(fēng)格的HDFS目錄交互。

5)Namenode和Datanode都內建了web服務(wù)器,可以方便地查看集群的狀態(tài)

6)HDFS經(jīng)常性地實(shí)現新的特性和改進(jìn),下面是HDFS中的一些有用特性的子集:

   文件許可和授權

   Rack awareness :當調度任務(wù)和分配存儲的時(shí)候將節點(diǎn)的物理位置考慮進(jìn)去。

   Safemode(安全模式) :用于維護的一個(gè)管理狀態(tài)

   fsck : 診斷文件系統的一個(gè)工具,用來(lái)查找丟失的文件或者block

   Rebalancer :當數據在Datanode間沒(méi)有均勻分布的時(shí)候,用于重新平衡集群的工具

   升級和回滾 :當Hadoop軟件升級,在升級遇到不可預期的問(wèn)題的時(shí)候,可以回滾到HDFS升級前的狀態(tài)

   二級Namenode :幫助Namenode維持包含了HDFS修改的日志的文件(edits日志文件,下文談到)大小在限制范圍內。

前提條件

下面的文檔描述了一個(gè)Hadoop集群的安裝和設置:


本文檔的剩余部分假設你已經(jīng)搭設并運行了一個(gè)至少擁有一個(gè)Datanode的HDFS?;诒疚臋n的目的,Namenode和Datanode可以運行在同一臺機器上。

Web接口

Namenode和Datanode分別跑了一個(gè)內置的web服務(wù)器,來(lái)展現集群當前狀態(tài)的一些基本信息。在默認配置下,Namenode的首頁(yè)地址是http://namenode:50070(namenode就是Namenode節點(diǎn)所在機器IP或者名稱(chēng))。這個(gè)頁(yè)面列出了集群中的所有datanode以及集群的基本統計。web接口同樣可以用于瀏覽文件系統(點(diǎn)擊Namenode首頁(yè)上的“Browse the file system"鏈接)。

Shell命令

Hadoop包括了多種shell風(fēng)格的命令,用于跟HDFS或者Hadoop支持的其他文件系統交互。命令 bin/hadoop fs -help 可以列出Hadoop shell支持的命令。更進(jìn)一步,bin/hadoop fs -help command 可以展現特定命令command的幫助細節。這些命令支持一般文件系統的操作,例如拷貝文件、修改文件權限等。同時(shí)也支持了部分HDFS特有的命令,例如修改文件的replication因子。

DFSAdmin命令

'bin/hadoop dfsadmin' 命令支持一些HDFS管理功能的操作。'bin/hadoop dfsadmin -help'可以列出所有當前支持的命令。例如:

  • -report : 報告HDFS的基本統計信息。部分信息同時(shí)展現在Namenode的web首頁(yè)上。 
  • -safemode : 盡管通常并不需要,管理員還是可以通過(guò)手工操作進(jìn)入或者離開(kāi)safemode狀態(tài)
  • -finalizeUpgrade : 移除上一次升級時(shí)集群所做的備份。

二級Namenode

Namenode將對文件系統的修改存儲在一個(gè)原生文件系統文件中(名為edits的文件)。當Namenode啟動(dòng)的時(shí)候,它從映像文件(fsimage)讀取HDFS的狀態(tài),然后將edits日志文件中的修改作用在此內存狀態(tài)上,接著(zhù)將得到的新的HDFS狀態(tài)寫(xiě)回 fsimage,后續的正常操作開(kāi)始于一個(gè)空的edits日志文件。由于Namenode僅僅在啟動(dòng)的時(shí)候將fsimage和edits合并,因此在一個(gè)大的集群上經(jīng)過(guò)一定時(shí)間操作后,edits文件將會(huì )非常大。由此帶來(lái)的一個(gè)副作用就是下次Namenode的重新啟動(dòng)將花費很長(cháng)時(shí)間。二級 Namenode就是為了解決這個(gè)問(wèn)題,它會(huì )周期性地合并fsimage和edits日志文件,并且將edits日志文件的大小保持在限制范圍內。通常它會(huì )跑在另一個(gè)機器上,因為它的內存要求跟主namenode一樣。二級Namenode可以通過(guò)'bin/start-dfs.sh'啟動(dòng)在conf /masters配置文件里配置的節點(diǎn)上。

Rebalancer

HDFS的數據可能不會(huì )總是在Datanode之間分布得很一致。一個(gè)常見(jiàn)的原因是往現有的集群中加入了新的Datanode。當分配block的時(shí)候,Namenode依據幾個(gè)參數來(lái)決定哪個(gè)datanode來(lái)接受這些block。一些需要考慮的因素如下:

1)一個(gè)block的副本存放在正在寫(xiě)該block的節點(diǎn)上

2)需要將一個(gè)block的副本擴展到其他機架上,防止因為整個(gè)機架故障導致的數據丟失。

3)副本之一通常放在同一個(gè)機架的另一個(gè)節點(diǎn)上,減少跨機架的網(wǎng)絡(luò )IO

4)將HDFS數據均勻一致地分布在集群中的datanode上。

    基于這些相互競爭的因素,數據可能不會(huì )在Datanode之間擴展得一致。HDFS給管理員提供了一個(gè)工具,用來(lái)分析block的分配情況和在datanode之間重新平衡數據。這個(gè)功能暫未實(shí)現,它的描述可以在這個(gè) PDF 文檔中看到,記錄編號HADOOP-1652 .

Rack Awareness

典型的大規模Hadoop集群是部署在數個(gè)機架上的,那么顯然同一個(gè)機架內的節點(diǎn)間的網(wǎng)絡(luò )通訊比之不同機架間節點(diǎn)間的網(wǎng)絡(luò )通訊更可取。另外,Namenode會(huì )嘗試將block的副本分布在數個(gè)機架中以提高容錯性。Hadoop讓集群管理員來(lái)決定某個(gè)節點(diǎn)從屬于哪個(gè)機架,通過(guò)配置變量dfs.network.script來(lái)實(shí)現。當這個(gè)腳本有配置的時(shí)候,每個(gè)節點(diǎn)都運行該腳本來(lái)決定它的rackid。默認安裝假設所有的節點(diǎn)從屬于同一個(gè)機架。這個(gè)特性和配置進(jìn)一步的闡述在這個(gè)PDF 文檔,編號為 HADOOP-692 。

Safemod(安全模式)

當Namenode啟動(dòng)的時(shí)候,它從fsimage和edits日志兩個(gè)文件中加載文件系統的狀態(tài)。然后等待 datanode報告他們的block信息,以便防止Namenode在確認block副本是否足夠前過(guò)早地開(kāi)始復制block。這段時(shí)間的 Namenode就是處于所謂safemode狀態(tài)。處于safemode的Namenode也是HDFS集群的只讀模型,此時(shí)不允許任何對文件系統或者 block的修改。正常情況下,Namenode會(huì )在開(kāi)始后自動(dòng)退出safemode。如果有需要,HDFS可以通過(guò)'bin/hadoop dfsadmin -safemode'命令顯式地進(jìn)入safemode狀態(tài)。Namenode的web首頁(yè)顯示當前的safemode是否打開(kāi)。更詳細的描述和配置可以參考setSafeMode() 方法的JavaDoc。

譯注:詳細介紹下safemode的配置參數,在safemode狀態(tài),Namenode會(huì )等待所有的datanode報告他們自己的block信息,看看所有的block的副本是否達到最低要求的數目,這個(gè)數目可以通過(guò)dfs.replication.min參數配置,默認是1,也就是至少要求有一個(gè)副本。當報告合格的Datanode的數目達到一定百分比,Namenode才會(huì )離開(kāi)safemode狀態(tài)。這個(gè)百分比也是可配置的,通過(guò) dfs.safemode.threshold.pct參數,默認是0.999f(也就是要求99.9%的Datanode 合格)。Namenode在合格的datanode數目達到要求的時(shí)候,并不是馬上離開(kāi)safemode狀態(tài),會(huì )有一個(gè)擴展時(shí)間,讓剩余的 datanode來(lái)報告block信息,這個(gè)擴展時(shí)間默認是30秒,可以通過(guò) dfs.safemode.extension參數配置,單位是毫秒。

Fsck

HDFS提供了fsck命令用來(lái)檢測各種各樣的不一致性。fsck被設計用來(lái)報告各種文件的問(wèn)題,例如某個(gè)文件丟失的 block,block的副本數目是否低于設置等。不同于傳統的一般原生文件系統的fsck命令,hdfs的fsck命令并不修正所檢測到的錯誤。通常情況下,Namenode會(huì )自動(dòng)修正大多數可以被修復的錯誤,HDFS的fsck不是Hadoop shel的命令,可以通過(guò)'bin/hadoop fsck'執行,可以運行在整個(gè)文件系統上或者一個(gè)文件子集上。

升級和回滾

當升級某個(gè)集群的Hadoop的時(shí)候,正如任何軟件的升級一樣,可能會(huì )引入新的bug或者不兼容的修改導致現有的應用出現過(guò)去沒(méi)有發(fā)現的問(wèn)題。在所有重要的HDFS安裝應用中,是不允許出現因丟失任何數據需要從零開(kāi)始重啟HDFS的情況。HDFS允許管理員恢復到 Hadoop的早期版本,并且將集群的狀態(tài)回滾到升級前。HDFS的升級細節請參考 upgrade wiki 。HDFS在任何時(shí)間只能有一個(gè)備份,因此在升級前,管理員需要通過(guò)'bin/hadoop dfsadmin -finalizeUpgrade'命令移除現有的備份。下面簡(jiǎn)要描述了典型的升級過(guò)程:

1)在升級Hadoop前,如果已經(jīng)存在備份,需要先結束(finalize)它??梢酝ㄟ^(guò)'dfsadmin -upgradeProgress status'命令查詢(xún)集群是否需要執行finalize

2)停止集群,分發(fā)部署新版本的Hadoop

3)執行新版本的hadoop,通過(guò)添加 -upgrade 選項,例如/bin/start-dfs.sh -upgrade

4)大多數情況下,集群在升級后可以正常運行。一旦新的HDFS在運行若干天的操作后沒(méi)有出現問(wèn)題,那么就可以結束(finalize)這次升級。請注意,在升級前刪除的文件并不釋放在datanode上的實(shí)際磁盤(pán)空間,直到集群被結束(finalize)升級前。

5)如果有需要回到老版本的Hadoop,那么可以:

   a)停止集群,分發(fā)部署老版本的Hadoop

   b)通過(guò)rollback選項啟動(dòng)集群,例如bin/start-dfs.sh -rollback

文件許可和安全

伸縮性

Hadoop正運行在成千上萬(wàn)個(gè)節點(diǎn)的集群上。 PoweredBy Hadoop 列出了一些部署Hadoop在大規模集群上的組織和機構。HDFS在每個(gè)集群上只有一個(gè)Namenode節點(diǎn),Namenode節點(diǎn)上可用內存是當前伸縮性的主要限制。在非常大規模的集群上,增加HDFS中存儲的文件的平均大小,將可以幫助提高集群的大小而不用增加Namenode的內存需求。默認的配置可能不適合非常大規模的集群應用。Hadoop FAQ 頁(yè)列出了對于大規模Hadoop集群的配置改進(jìn)建議。

關(guān)聯(lián)文檔



本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Hadoop分布式文件系統使用指南
hadoop集群配置
Hadoop_360百科
獨家|一文讀懂Hadoop(二)HDFS(上)
ZooKeeper學(xué)習之路 (十)Hadoop的HA集群的機架感知
Hadoop_HDFS_02
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久