京東自主研發Hadoop高可用解決方案

原文地址:http://net.chinabyte.com/110/12476610.shtml


 記者近日獲悉,京東商城在Hadoop高可用方面的研究,取得了重大成果。在Hadoop集羣運維方面,一直以來都有這樣一個難題困擾着業界:線上集羣,由於NameNode的異常,極有可能導致Hadoop集羣服務中斷;NameNode軟硬件系統定期維護、升級也一直是讓人頭疼的問題——整個集羣可用性會受到影響。集羣可能隨時都有任務在執行,有些業務是需要7*24小時不間斷地提供服務,服務中斷會造成比較大的影響,被影響的業務有可能又會間接影響到其它業務。

  到底是什麼讓線上集羣存在這樣的憂患呢?我們知道,NameNode的備份可以分爲冷備,溫備,熱備等方案。目前,絕大多數Hadoop線上集羣使用的是冷備的方案。冷備方案中,只存在一個NameNode節點對外提供服務,如果此節點服務發生異常,那麼整個Hadoop集羣提供的服務就會中斷,造成集羣不可用,且只能是人工介入修復,如果Hadoop集羣存儲的文件數量很多,NameNode重新啓動的時間會很長,這就會給所有線上集羣任務造成較大的影響,其損失無法估量。這個問題不僅是京東商城的問題,更是業界普遍面臨的一個問題。

  京東Hadoop高可用解決方案,很好地解決了以上問題。熱備方案是在冷備方案的基礎上,引入了一個從節點作爲熱備節點。當主節點出現異常時,從節點切換爲主節點,Hadoop繼續對外提供服務。

  京東Hadoop高可用解決方案是以Cloudera CDH3作爲基礎,並在其上進行了大量的改造工作,完全自主研發實現的。目前,已經支持主、從熱備的部署方式,並且通過共享存儲設備,實現主、從節點的元數據同步。在熱備基礎之上,我們也實現了NameNode的自動切換功能。客戶端、主、從節點、數據節點均通過zookeeper判斷主節點信息,通過心跳判斷NameNode健康狀態。

  

                                                                         Hadoop高可用解決方案邏輯架構圖

  在業界,對於Hadoop NameNode熱備機制也有一些實現方案,例如: facebook,cloudera等IT巨頭均在不遺餘力地對Hadoop進行高可用方案的改造,並且已經取得了較大成果。京東商城對Hadoop的持續升級改造一直在進行着:通過zookeeper、心跳等實現了主、從節點的自動切換功能,同時充分地考慮到了防止網絡波動、服務假死等情況;其次,引入了共享存儲異常的處理機制,解決了在共享存儲設備出現異常的情況下,也不會造成元數據丟失或者主/從節點元數據一致性的問題。

  京東商城在Hadoop方面的技術突破,體現了京東人在雲計算方面的不斷探索,同時也標誌着京東商城在雲計算領域的研究已經進入了深入階段。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章