分布式計算開源框架Hadoop近日發布了今年的第一個版本Hadoop-2.3.0,新版本不僅增強了核心平臺的大量功能,同時還修復了大量bug。
新版本對HDFS做了兩個非常重要的增強:
支持異構的存儲層次
通過數據節點為存儲在HDFS中的數據提供了內存緩存功能
借助于HDFS對異構存儲層次的支持,我們將能夠在同一個Hadoop集群上使用不同的存儲類型。此外我們還可以使用不同的存儲媒介——例如商業磁盤、企業級磁盤、SSD或者內存等——更好地權衡成本和收益。如果你想更詳細地了解與該增強相關的信息,那么可以訪問這里。
類似地,在新版本中我們還能使用Hadoop集群中的可用內存集中地緩存并管理數據節點內存中的數據集。MapReduce、Hive、Pig等類似的應用程序將能夠申請內存進行緩存,然后直接從數據節點的地址空間中讀取內容,通過完全避免磁盤操作極大地提高掃描效率。Hive現在正在為ORC文件實現一個非常有效的零復制讀取路徑,該功能就使用了這項新技術。
在YARN方面,令我們非常興奮的事情是資源管理器自動故障轉移功能已經進入尾聲,雖然在2.3.0這個版本中該功能還沒有被發布,但是極有可能會包含在Hadoop-2.4中。此外,2.3.0版本還對YARN做了一些關鍵的運維方面的增強,例如更好的日志、錯誤處理和診斷等。
MapReduce的一個關鍵增強是MAPREDUCE-4421。借助于該功能我們已經不再需要在每一臺機器上安裝MapReduce二進制程序,僅僅需要通過YARN分布式緩存將一個MapReduce包復制到HDFS中就可以了。
當然,新版本還包含大量的bug修復以及其他方面的增強。例如:
YarnClientImpl類中的異步輪詢操作引入了超時
修復了RMFatalEventDispatcher沒有記錄事件原因的問題
HA配置不會影響節點管理器的RPC地址
RM Web UI和REST API統一使用YarnApplicationState
在RpcResponseHeader中包含RPC錯誤信息,而不是將其分開發送
向jetty/httpserver中添加了請求日志
修復了將dfs.checksum.type定義為NULL之后寫文件和hflush會拋出java.lang.ArrayIndexOutOfBoundsException的問題
如果想要了解更多的信息,請點擊這里。不得不說的是,整個社區在Hadoop-2.3.0版本的發布過程中再次發揮了非常重要的作用,他們提交了很多非常重要的內容。
最后,讓我們展望一下2.4版本中將會包含的一些非常令人興奮的功能:
HDFS將會支持ACL
關鍵的運營能力,例如HDFS支持滾動更新,使用ProtoBufs序列化/反序列化FSImage
YARN資源管理器自動故障轉移功能
YARN通用應用程序時間軸和歷史服務,使得在YARN中開發和管理新框架及服務變得非常容易