Hadoop 2.0產生
目錄
一、Hadoop 2.0產生背景
–Hadoop 1.0中HDFS和MapReduce在高可用、擴充套件性等方面存在問題
–HDFS存在的問題
•NameNode單點故障,難以應用於線上場景 HA(高可用)
•NameNode壓力過大,且記憶體受限,影擴充套件性 F(聯邦)
–MapReduce存在的問題響系統
•JobTracker訪問壓力大,影響系統擴充套件性
•難以支援除MapReduce之外的計算框架,比如Spark、Storm等
二、Hadoop 1.x與Hadoop 2.x
–Hadoop 2.x由HDFS、MapReduce和YARN三個分支構成;
•HDFS:NN Federation(聯邦)、HA;
–2.X:只支援2個節點HA,3.0實現了一主多從
•MapReduce:執行在YARN上的MR;
–離線計算,基於磁碟I/O計算
•YARN:資源管理系統
三、HDFS 2.x
–解決HDFS 1.0中單點故障和記憶體受限問題。
–解決單點故障
- •HDFS HA:通過主備NameNode解決
- •如果主NameNode發生故障,則切換到備NameNode上
–解決記憶體受限問題
- •HDFS Federation(聯邦)
- •水平擴充套件,支援多個NameNode;
- •(2)每個NameNode分管一部分目錄;
- •(1)所有NameNode共享所有DataNode儲存資源
–2.x僅是架構上發生了變化,使用方式不變
–對HDFS使用者透明
–HDFS 1.x中的命令和API仍可以使用
四、HDFS 2.0 HA(高可用)
- ZKFC(藍色背景的大圈):自動故障轉移,jvm程式
- ZK (藍色背景的小圈):分散式協調
ZKFC(與之對應的NN在同一物理作業系統)監控硬體、軟體、NN、作業系統,看其是否還健康。
當叢集第一次開機時有一個NN是Active 另外一個是Standby,那麼誰是Active呢,要看ZK來分散式協調,兩個ZKFC去ZK
中爭搶建立,誰建立上就是Active。
ZK的事件監聽和回撥,當一個NN1掛掉,對應的ZKFC1知道後去ZK把自己建立的東西刪掉,刪掉這個事件回撥一個事件,在另一個ZKFC把自己對應的NN升為Active
若ZKFC1掛掉,NN1還活著,ZK把對應的節點刪掉,另一個ZKFC會把NN1降為Standby,自己的NN升為Active
解決方法
–主備NameNode
–解決單點故障(屬性,位置)
•主NameNode對外提供服務,備NameNode同步主NameNode後設資料,以待切換
•所有DataNode同時向兩個NameNode彙報資料塊資訊(位置)
•JNN:叢集(屬性)
•standby:備,完成了edits.log檔案的合併產生新的image,推送回ANN
–兩種切換選擇
•手動切換:通過命令實現主備之間的切換,可以用HDFS升級等場合
•自動切換:基於Zookeeper實現
–基於Zookeeper自動切換方案
•ZooKeeper Failover Controller:監控NameNode健康狀態,
•並向Zookeeper註冊NameNode
•NameNode掛掉後,ZKFC為NameNode競爭鎖,獲得ZKFC 鎖的NameNode變為active
五、HDFS 2.x Federation(聯邦)
–
–通過多個namenode/namespace把後設資料的儲存和管理分散到多個節點中,使到namenode/namespace可以通過增加機器來進行水平擴充套件。
–能把單個namenode的負載分散到多個節點中,在HDFS資料規模較大的時候不會也降低HDFS的效能。可以通過多個namespace來隔離不同型別的應用,把不同型別應用的HDFS後設資料的儲存和管理分派到不同的namenode中。
相關文章
- Hadoop進入2.0時代Hadoop
- hadoop 2.0 hdfs HA 搭建Hadoop
- hadoop1.0 和 Hadoop 2.0 的區別Hadoop
- Hadoop分散式環境搭建總結(非生產:Rat hat linux 6.4 + hadoop_1.2.1)Hadoop分散式Linux
- Hadoop演進與Hadoop生態Hadoop
- hadoop 之Hadoop生態系統Hadoop
- SitMan v2.0 beta版的序號產生器(TC2.0編譯) (3千字)編譯
- mysqldump同步生產到生產資料MySql
- 《生產環境下Hadoop大叢集安裝與配置+DNS+NFS》HadoopDNSNFS
- Hadoop 生態系統Hadoop
- hadoop生態系統Hadoop
- Hadoop生態圖譜Hadoop
- VB家庭課堂 v2.0的演算法和序號產生器演算法
- 【原創】生產環境下Hadoop大叢集安裝與配置+DNS+NFSHadoopDNSNFS
- 生產計劃排產軟體如何解決生產難題?
- Hadoop生態圈一覽Hadoop
- BadCopy99V2.0序號產生器(MASM版) --by fpx (4千字)ASM
- 生產環境Hadoop大叢集完全分散式模式安裝 NFS+DNS+awkHadoop分散式模式NFSDNS
- 提高開發生產力 - 生產力指南篇(之一)
- sessionid如何產生?由誰產生?儲存在哪裡?Session
- Hadoop 基礎之生態圈Hadoop
- 初入Hadoop生態系統Hadoop
- Hadoop工具生態系統指南Hadoop
- Hadoop生態系統介紹Hadoop
- 如何在Hadoop 2.0上實現深度學習?Hadoop深度學習
- 【資料永不眠 2.0】 看看每一分鐘究竟有多少資料產生?–資訊圖
- Mastodon 生產部署指南AST
- Kafka 生產者解析Kafka
- btrace定位生產故障
- RocketMQ - 生產者原理MQ
- LCM模組生產流程
- Java的產生(轉)Java
- 生產注意事項
- ClickHouse生產環境部署
- 處理生產bug
- 優思學院|"豐田生產"和“福特生產”有哪些區別?
- 服裝生產管理軟體鞋帽生產系統的優點
- Hadoop源生實用工具之distcpHadoopTCP