Hadoop 本身是一款开源大数据组件,它包括三个部分:MapReduce计算模型、HDFS 分布式文件系统、Yarn 资源管理系统。像现在其他 Hadoop 相关的大数据组件,比如HBase、Hive等,因为这些组件底层其实还是依赖 Hadoop 系统的功能模块来进行实现的,没有完全脱离于 Hadoop 系统单独形成一个开源组件。所以整体 Hadoop 生态系统包含很多大数据组件。
比如像 HBase NoSQL 数据库的实现,最底层是以 HFile 文件进行存储,而 HFile 文件是在 HDFS 上面进行存储。HBase 整体上理解可以认为是一个基于 Hadoop HDFS 分布式文件系统的一个数据库。使用 HDFS 分布式文件系统进行存储时,因为 HDFS 本身具有分区容错性,同时HDFS 文件系统是分布式的,未来在机器扩容时,也非常方便。
现在其实也有很多分布式计算引擎也属于 Hadoop 生态系统,比如 Spark ,Storm等。公司其实为了大数据技术的收敛,一般都会统一来使用 Yarn 资源管理器来管理和调度集群的资源,而很多 Spark 任务、Storm 任务也支持在 Yarn 上面进行运行,而 Yarn 资源管理器又属于 Hadoop 本身的一个模块,所以它们属于 Hadoop 生态系统的一员。
目前经过多年的发展,Hadoop已经形成了一个比较成熟的生态系统,原因主要集中在三个方面,其一是Hadoop自身已经构建起了一整套解决方案;其二是Hadoop自身能够完成价值增量;其三是Hadoop为大数据技术体系奠定了一定的基础。
虽然Hadoop本身是一个开源框架,但是围绕Hadoop平台已经打造了一整套解决方案,这些解决方案涉及到数据的存储(HDFS)、分布式计算、数据同步、数据查询、数据分析、数据呈现等一系列内容,可以说当前的Hadoop平台已经比较完善了。
虽然Hadoop自身是非商业系统,但是Hadoop平台目前的落地应用案例已经比较多了,而且能够为用户形成价值增量,这是Hadoop形成自身生态的关键点。目前基于Hadoop的大数据应用开发已经遍布多个行业领域,涉及到金融、医疗、交通等。
目前行业领域内有不少商用的大数据平台正是基于Hadoop打造的,这也在一定程度上说明了Hadoop平台的稳定性和扩展性都是比较强的,而且基于Hadoop平台打造的大数据应用产品也可以广泛部署在其他商业大数据平台上,这使得Hadoop已经成为了一种大数据开发领域的标准,这进一步巩固了Hadoop的应用地位。
虽然目前Hadoop得到了广泛的应用,而且Hadoop生态也越来越完善,但是Hadoop自身的可用性也有待提高,毕竟对于行业企业来说,直接采用Hadoop作为大数据平台还是相对比较麻烦,对于开发人员的要求也相对比较高。相比于Hadoop来说,Spark平台要更“轻”一些,所以目前很多大数据应用也会更倾向于采用Spark平台。