1. 程式人生 > >5節點Hadoop分散式叢集搭建經驗分享

5節點Hadoop分散式叢集搭建經驗分享

本文我們使用hadoop2.6.0版本配置Hadoop叢集,同時配置NameNode+HA、ResourceManager+HA,並使用zookeeper來管理Hadoop叢集。

1.1 寫在前面的話
1.2 (一)HDFS概述
1.2.1 基礎架構

1、NameNode(Master)

1)名稱空間管理:名稱空間支援對HDFS中的目錄、檔案和塊做類似檔案系統的建立、修改、刪除、列表檔案和目錄等基本操作。

2)塊儲存管理。

1.2.2 HA架構


從上面的架構圖可以看出,使用Active NameNode,Standby NameNode 兩個節點可以解決單點問題,兩個節點通過JounalNode共享狀態,通過ZKFC 選舉Active ,監控狀態,自動備份。

1、Active NameNode

接受client的RPC請求並處理,同時寫自己的Editlog和共享儲存上的Editlog,接收DataNode的Block report, block location updates和heartbeat。

2、Standby NameNode

同樣會接到來自DataNode的Block report, block location updates和heartbeat,同時會從共享儲存的Editlog上讀取並執行這些log操作,保持自己NameNode中的元資料(Namespcae information + Block locations map)和Active NameNode中的元資料是同步的。所以說Standby模式的NameNode是一個熱備(Hot Standby NameNode),一旦切換成Active模式,馬上就可以提供NameNode服務。

3、JounalNode

用於Active NameNode , Standby NameNode 同步資料,本身由一組JounnalNode節點組成,該組節點奇數個。

4、ZKFC

監控NameNode程序,自動備份。

1.3 (二)YARN概述

1.3.1 基礎架構

1、ResourceManager(RM)

接收客戶端任務請求,接收和監控NodeManager(NM)的資源情況彙報,負責資源的分配與排程,啟動和監控ApplicationMaster(AM)。

2、NodeManager

節點上的資源管理,啟動Container執行task計算,上報資源、container情況彙報給RM和任務處理情況彙報給AM。

3、ApplicationMaster

單個Application(Job)的task管理和排程,向RM進行資源的申請,向NM發出launch Container指令,接收NM的task處理狀態資訊。

4、Web Application Proxy

用於防止Yarn遭受Web攻擊,本身是ResourceManager的一部分,可通過配置獨立程序。ResourceManager Web的訪問基於守信使用者,當Application Master運行於一個非受信使用者,其提供給ResourceManager的可能是非受信連線,Web Application Proxy可以阻止這種連線提供給RM。

5、Job History Server

NodeManager在啟動的時候會初始化LogAggregationService服務, 該服務會在把本機執行的container log (在container結束的時候)收集並存放到hdfs指定的目錄下. ApplicationMaster會把jobhistory資訊寫到hdfs的jobhistory臨時目錄下, 並在結束的時候把jobhisoty移動到最終目錄, 這樣就同時支援了job的recovery.History會啟動web和RPC服務, 使用者可以通過網頁或RPC方式獲取作業的資訊。

1.3.2 HA架構


ResourceManager HA 由一對Active,Standby結點構成,通過RMStateStore儲存內部資料和主要應用的資料及標記。目前支援的可替代的RMStateStore實現有:基於記憶體的MemoryRMStateStore,基於檔案系統的FileSystemRMStateStore,及基於zookeeper的ZKRMStateStore。 ResourceManager HA的架構模式同NameNode HA的架構模式基本一致,資料共享由RMStateStore,而ZKFC成為 ResourceManager程序的一個服務,非獨立存在。
1.4 (三)規劃
1.4.1 主機規劃
1.4.2 軟體規劃
1.4.3 使用者規劃
1.4.4 目錄規劃
1.5 (四)叢集安裝前的環境檢查
1.5.1 時鐘同步
1.5.2 hosts檔案檢查
1.5.3 禁用防火牆
1.6 (五)配置SSH免密碼通訊
1.7 (六)指令碼工具的使用
1.8 (七)jdk安裝
1.9 (八)Zookeeper安裝
1.10 (九)hadoop叢集環境搭建
1.10.1 配置HDFS
1.10.2 hdfs配置完畢後啟動順序
1.10.3 YARN安裝配置

由於文章內容太多,下面只列出目錄,文件在附件裡,大家可以自己下載!

檔案下載: