好程式設計師大資料學習路線分享Hadoop階段的高可用配置
大資料學習路線分享Hadoop 階段的高可用配置,什麼是Hadoop的HA機制
Ha 機制即 Hadoop 的高可用( 7*24 小時不中斷服務)
正式引入HA機制是從hadoop2.0開始,之前的版本中沒有HA機制
hadoop-ha 嚴格來說應該分成各個元件的 HA 機制—— HDFS 的 HA 、 YARN 的 HA
HDFS的HA機制詳解
HDFS 的HA 主要是透過 雙namenode 協調工作實現
雙namenode 協調工作的要點:
A 、後設資料管理方式需要改變:
記憶體中各自儲存一份後設資料
Edits 日誌只能有一份,只有 Active 狀態的 namenode 節點可以做寫操作
兩個 namenode 都可以讀取 edits
共享的 edits 放在一個共享儲存中管理( qjournal 和 NFS 兩個主流實現)
B 、需要一個狀態管理功能模組
實現了一個 zkfailover ,常駐在每一個 namenode 所在的節點
每一個 zkfailover 負責監控自己所在 namenode 節點,利用 zk 進行狀態標識
當需要進行狀態切換時,由 zkfailover 來負責切換
切換時需要防止 brain split 腦裂現象的發生
Namenode 的執行原理
兩臺伺服器上都存在一個namenode ,其中一臺Namenode 處於active狀態,一臺處於standby狀態,兩臺伺服器資料共享,兩臺伺服器各自存有一份後設資料,但是edit資料只有一份,兩臺伺服器只有處於active狀態的namenode伺服器可以對edit進行寫操作,另一臺伺服器只能對edit進行讀操作,而共享的edit放到一個共享儲存中進行管理。共享儲存由檔案管理系統qjournal和NFS來實現。
而兩臺伺服器的active standby狀態如何管理,則需要一個管理模組:ZKFC (zookeeper failover controller) 來管理。每一個zkfc 負責監控自己所在namenode節點,利用zk進行狀態標識。 當需要進行狀態切換時,由zkfailover來負責切換
切換時需要防止brain split 腦裂 現象的發生 。
什麼是腦裂現象
腦裂現象就是兩臺namenode 都處於 active 狀態,產生衝突,這就是腦裂。Hadoop 的高可用配置要注意解決腦裂狀態。
腦裂狀態如何產生
當一臺active 狀態的namenode 伺服器處於假死狀態,那麼另一臺 namenode 伺服器的zkfc 收到資訊,把屬於他的namenode 狀態改變為active 狀態,第一臺處於假死狀態的namdenode 又醒過來,就會產生腦裂。
腦裂如何解決
第二臺namenode 的zkfc 此時就會一不做二不休,把第一臺處於假死狀態的namenode 殺掉 運用ssh kill -9 namenode , 直接殺掉第一臺伺服器的namenode 進行補刀,如果補刀不成功的話,zkfc 進入第一臺伺服器,直接呼叫使用者的自定義指令碼程式 /home/Hadoop/kill/poweroff.sh 殺-掉假- 死的namenode。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913892/viewspace-2655280/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 好程式設計師大資料學習路線分享高階函式程式設計師大資料函式
- 好程式設計師大資料學習路線Hadoop學習乾貨分享程式設計師大資料Hadoop
- 好程式設計師大資料學習路線分享Hadoop機架感知程式設計師大資料Hadoop
- 好程式設計師大資料學習路線分享MAPREDUCE程式設計師大資料
- 好程式設計師大資料學習路線分享SparkSQl程式設計師大資料SparkSQL
- 好程式設計師大資料培訓分享Hadoop入門學習線路圖程式設計師大資料Hadoop
- 好程式設計師大資料學習路線分享Hbase指令學習程式設計師大資料
- 好程式設計師大資料學習路線分享大資料之字串程式設計師大資料字串
- 好程式設計師大資料學習路線分享hadoop常用四大模組檔案程式設計師大資料Hadoop
- 好程式設計師大資料學習路線分享HDFS學習總結程式設計師大資料
- 好程式設計師大資料學習路線分享hdfs學習乾貨程式設計師大資料
- 好程式設計師大資料學習路線分享Actor學習筆記程式設計師大資料筆記
- 好程式設計師大資料學習路線分享Map學習筆記程式設計師大資料筆記
- 好程式設計師大資料學習路線分享HDFS讀流程程式設計師大資料
- 好程式設計師大資料學習路線分享AWK詳解程式設計師大資料
- 好程式設計師大資料學習路線分享UDF函式程式設計師大資料函式
- 好程式設計師大資料學習路線分享spark之Scala程式設計師大資料Spark
- 好程式設計師大資料學習路線分享Lambda表示式程式設計師大資料
- 好程式設計師大資料學習路線分享大資料之執行緒程式設計師大資料執行緒
- 好程式設計師大資料學習路線分享hive的執行方式程式設計師大資料Hive
- 好程式設計師大資料學習路線分享Scala系列之物件程式設計師大資料物件
- 好程式設計師大資料學習路線分享TCP和UDP學習筆記程式設計師大資料TCPUDP筆記
- 好程式設計師大資料學習路線分享大資料之基礎語法程式設計師大資料
- 好程式設計師大資料培訓分享Hadoop入門進階程式設計師大資料Hadoop
- 好程式設計師大資料學習路線分享MapReduce全過程解析程式設計師大資料
- 好程式設計師大資料學習路線分享什麼是Hash表程式設計師大資料
- 好程式設計師大資料學習路線分享Scala系列之抽象類程式設計師大資料抽象
- 好程式設計師大資料學習路線分享Scala系列之陣列程式設計師大資料陣列
- 好程式設計師大資料學習路線分享Scala分支和迴圈程式設計師大資料
- 好程式設計師大資料學習路線分享MapReduce全流程總結程式設計師大資料
- 好程式設計師大資料學習路線分享Scala系列之泛型程式設計師大資料泛型
- 好程式設計師大資料學習路線之大資料自學路線二程式設計師大資料
- 好程式設計師大資料學習路線之大資料自學路線一程式設計師大資料
- 好程式設計師大資料學習路線分享執行緒學習筆記二程式設計師大資料執行緒筆記
- 好程式設計師大資料學習路線分享多執行緒學習筆記程式設計師大資料執行緒筆記
- 好程式設計師大資料學習路線Hbase總結程式設計師大資料
- 好程式設計師大資料學習路線之mapreduce概述程式設計師大資料
- 好程式設計師大資料學習路線分享彈性分散式資料集RDD程式設計師大資料分散式