Apache Hadoop 2.3.0已发布,支持HDFS的内存中缓存和异构存储层次结构。
HDFS的内存中缓存功能意味着您可以选择在HDFS中缓存特定的文件或目录,这样MapReduce,Hive和Pig等应用程序便可以读取这些文件或目录,而无需进行常规的基于磁盘的读取操作。
根据Cloudera博客上的Justin Kestelyn的说法,初步基准测试表明,优化的应用程序可以实现每秒千兆字节的读取吞吐量。
Kestelyn报告:当您缓存文件或目录时,:
然后,DataNode将通过使用mmap和mlock将相应的块缓存在堆外内存中。缓存后,Hadoop应用程序可以查询缓存块的位置,并针对内存位置放置其任务。最后,在本地内存中,应用程序可以使用新的零复制读取API来读取缓存的数据,而不会产生额外的开销。
在Hortonworks博客Arun Murthy上写道:
“例如,Hive通过为ORC文件实现极其有效的零拷贝读取路径来利用此功能。”
其他亮点包括对HDFS中的异构存储的一些支持,增加了异构存储类,以及通过YARN分布式缓存简化了MapReduce二进制文件的分发。
异构存储类意味着Hadoop现在可以在同一Hadoop群集上使用不同的存储类型,因此可以将SSD,内存和不同类型的磁盘的混合在一起放在同一群集中,并允许每个应用程序选择最适合其性能或成本要求的存储类型。
Hortonworks的一篇有趣的文章更详细地描述了HDFS中的异构存储,在他的博客文章中,Arun Murthy说:
“我们现在可以使用不同的存储介质(例如商品磁盘,企业级磁盘,SSD,内存等)进行更好的成本/收益权衡。”
Hadoop 2.3.0发行说明提供了其他更改和功能的详细信息。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。