您好,登錄后才能下訂單哦!
1、為何不用RAID
HDFS所提供的節點間數據復制技術已可滿足數據備份需求,無需使用RAID冗余機制。
RAID 0速度比JBOD(Just a Bunch Of Disks)慢,JBOD在所有磁盤之間循環調度HDFS塊。RAID 0的讀寫操作受限于磁盤陣列中最慢盤片的速度,而JBOD的磁盤操作均獨立,因而篇平均讀寫速度高于最慢盤片的讀寫速度。
2、服務是否可以放在一臺服務器上
對于一個小集群(幾十個節點)而言,在一臺master機器上同時運行namenode和jobtracker通常沒有問題(需確保至少一份namenode的元數據被另存在遠程文件系統中)。但是隨著HDFS中的集群和文件數不斷增長,namenode需要使用更多的內存,那么namenode和jobtracker最好分別放到不同的機器中。
輔助namenode可以和namenode一起運行在同一臺機器之中,但是同樣由于內存使用的原因(輔助namenode和主namenode的內存需求相同),二者最好運行在獨立的服務器上;對于大規模集群來說更是如此。
3、hadoop配置文件
hadoop集群的每個節點各自保存自己的配置文件,并沒有放在一個單獨的全局位置,由管理員去完成配置文件的同步。hadoop提供一個基本工具來進行同步,即rsync。此外,dsh或pdsh等并行shell工具也可完成該任務。
hadoop也支持為所有的master機器和worker機器采用同一套配置文件。這個做法的最大優勢就是簡單。但是,這種一體適用的配置模型并不適合某些集群。以擴展集群為例,當試圖為集群添加新機器,且新機器的硬件規格與現有機器不同時,則需要新建一套配置文件,以充分利用新硬件的額外資源。
在這種情況下,需要引入“機器類”的概念,為每一個機器類維護單獨的配置文件。hadoop沒有提供這個操作的工具,需要借助外部工具來執行該配置操作。
4、獨立安裝MapReduce和HDFS的好處
分開兩個服務的前提條件是兼容性限制放寬,這樣有利于升級,例如,可以一邊便捷的升級MapReduce(可能打一個補丁),一邊仍然運行HDFS。
需要注意的是即使獨立安裝了HDFS和MapReduce,它們任然可以共享配置信息,其方法是使用--config選項(啟動守護進程時),指向同一個配置目錄。鑒于它們所產生的日志文件的名稱不同,不會導致沖突,因此任然可以將日志輸出到同一個目錄中。
5、masters節點
為了運行hadoop內置腳本來操作集群服務和守護進程的啟停,需要預先知道集群內的所有機器。兩個文件可以達成這個目標,即masers和slaves。各文件逐行記錄一些機器的名稱或IP地址。masters文件的名稱有點誤導人,它主要記錄的是擬運行輔助namenode的所有機器。
namenode在內存中保存整個命名空間中的所有元數據和塊元數據,其內存需求很大。輔助namenode在大部分時間里是空閑的,但是它在創建檢查點時的內存需求與namenode是差不多的。一旦文件系統包含大量文件,單臺機器的物理內存便無法同時運行主namenode和輔助namenode。
輔助namenode保存一份最新的檢查點,記錄它創建的文件系統的元數據。將這些歷史信息備份到其他節點上,有助于數據丟失(或系統崩潰)的情況下恢復namenode的元數據文件。
在一個運行大量MapReduce作業的高負載集群上,jobtracker會占用大量內存和CPU資源,因此它最好運行在一個專用節點上。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。