2017-01-30 28 views
2

我在10臺Core OS機器的DCOS羣集(3個主節點,7個代理節點)上從Universe安裝了HDFS。我的HA HDFS配置有2個名稱節點,3個日誌節點和5個數據節點。現在,我的問題是。 HDFS不能恢復機器重啓嗎?如果我重新啓動安裝了數據節點的計算機,則數據節點將被重建爲其他計算機的鏡像(僅在從DC/OS UI重新啓動HDFS服務後)。在日誌節點或名稱節點處重新啓動的情況下,這些節點將被標記爲丟失並且從不重建。在DC/OS中重新啓動機器的HDFS恢復能力

回答

0

的HDFS彈性模型的快速摘要用於HA部署像您:

  • 兩個NameNodes形成有源/備用對。在活動的機器重新啓動的情況下,系統檢測活動的故障並且待機接管爲新的活動。一旦機器完成重新啓動,NameNode進程再次運行,併成爲新的待機。除非兩個NameNode同時關閉,否則不會停機。主機上的數據(例如fsimage元數據文件)通常在重新啓動之間維護。如果在您的環境中不是這種情況,則需要執行其他恢復步驟來重新建立備用數據庫,例如通過運行hdfs namenode -bootstrapStandby命令。
  • 3 JournalNodes組成法定人數。在機器重新啓動的情況下,NameNode可以繼續將其編輯日誌事務寫入其餘的2個JournalNodes。一旦機器完成其重新啓動,JournalNode進程再次運行,趕上它可能錯過的事務,然後NameNode再次寫入所有3。除非同時關閉2個或更多JournalNode,否則不會停機。如果數據(例如編輯文件)在重新啓動時未被維護,那麼重新啓動的JournalNode將通過從正在運行的JournalNode進行復制而趕上。
  • DataNodes大多是一次性的。在機器重新啓動的情況下,客戶機將被重新路由到其他正在運行的DataNode以進行讀取和寫入(假設典型的複製因子爲3)。一旦機器完成其重新啓動,DataNode進程將再次運行,並且可以再次開始爲來自客戶機的讀取/寫入流量提供服務。除非大規模同時發生故障事件(非常不可能,並且可能與更大的數據中心問題相關)導致特定塊的所有DataNode託管副本同時關閉,否則不會停機。如果數據(塊文件目錄)沒有在重新啓動時維護,那麼在重新啓動後,它將看起來像是一個全新的DataNode聯機。如果這會導致羣集不平衡,那麼可以通過運行HDFS平衡器來彌補。
+1

謝謝克里斯,這正是我沒有料到它的工作,但在DC/OS(其中HDFS是在Apache Mesos運行)只有數據節點的機器重新啓動後,重新啓動而Journal節點和名稱節點從不重新啓動。 Mesos將他們相關的任務標記爲失敗,並且無法重新啓動它們。 –

+0

感謝您的進一步澄清。不幸的是,我沒有任何在DC/OS或Mesos上運行HDFS的經驗,所以我無法提供關於這方面的更多信息。希望你的問題會吸引一些DC/OS或Mesos的專業知識。 –

相關問題