分布式计算开源框架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中开发和管理新框架及服务变得非常容易
|