好程式設計師大資料學習路線分享Hadoop階段的高可用配置

好程式設計師IT發表於2019-08-28

  大資料學習路線分享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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章