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