Hadoop是一项开源技术,它是当今与大数据应用最为息息相关的数据管理平台。该分布式处理框架主要由Yahoo创建于2006年,部分是基于由Google在一些技术论文中所阐述的思想;很快,诸如Facebook,Linkedln以及Twitter之类的互联网公司采用该技术并开始对其发展贡献力量。在过去几年,Hadoop已经演变成一种有着基础设施组件和相关工具的复杂生态系统,而且它被各家供应商打包在一起成为商业Hadoop发行版本。
对于高级分析活动来说,在集群服务器上运行的Hadoop为建立一个高性能,低成本的大数据管理架构提供了途径。随着人们逐渐意识到其能力的提升,Hadoop的应用蔓延到了其他行业,包括对混合有传统结构化数据和新型非结构以及半结构化数据的应用程序的报告和分析。这包括网络点击流数据,在线广告信息,社交媒体数据,医疗记录,以及来自制造设备的传感器数据和源自互联网设备的数据。
Hadoop为何物
Hadoop框架包含了大量开源软件组件,这些组件拥有用于计算,处理,管理和分析大量数据的核心模型,而这些数据则由各种各样的支撑技术所包围。这些核心组件包括:
Hadoop Distributed File System(HDFS Hadoop分布式文件系统),它支持传统的分级目录和文件系统,而他们则是将文件分布于Hadoop集群中的存储节点上(例如:DataNodes数据节点)。
MapReduce是可以对批量应用程序进行并行处理的编程模型和执行框架。
YARN(这是对Yet Another Resource Negotiator的简称)负责管理任务调度,为运行中的应用程序分配集群资源,并在可用资源出现争用时进行仲裁。它同时还对正在处理中任务的进展进行追踪和监控。
Hadoop Common是由不同组件使用的一组库和工具。
在Hadoop集群中,那些核心部分和其他软件模型是分层于计算和数据存储硬件节点集合之上的。这些节点通过高速内网连接以形成高性能并行分布式处理系统。
作为一个开源技术的集合,Hadoop并不受控于任何一个单独的供应商;相反的是,它的开发是由Apache Software Foundation进行管理的。Apache为用户提供Hadoop使用许可,基本上可以让用户免费,无版税的使用该软件。开发人员可以直接从Apache的网站下载并自行构建Hadoop环境。但是,Hadoop供应商提供带有基本功能的预构建社区版本,该版本同样是免费下载并能在各种硬件平台上进行安装的。同时还有市场商业版和企业版——Hadoop发行版根据维护和支持服务的不同等级来打包软件。
在某些情况下,供应商也会基于Apache的技术提供性能和功能方面的增强——例如,通过提供附加的软件工具来简化集群配置和管理,或是与外部平台的数据整合。这些商业产品让各种规模的公司对Hadoop的接纳度越来越高。这是非常有价值的,尤其是当商业公司供应商的支持服务团队可以启动一家公司Hadoop基础设施的设计和开发,并且能够引导工具的选择和高级功能的集成以快速部署高性能分析解决方案来满足新兴业务需求的时候。
典型Hadoop软件栈组件
当你拿到一份商业版本的Hadoop时,你能从中真正获得什么呢?除了核心组件,典型的Hadoop发布版本会包含(但不限于)以下内容:
诸如Tez和Spark之类的替代数据处理和应用程序执行管理器,它们可以在YARN之上运行或是与YARN并行以提供集群管理;缓存数据管理;以及其他改善处理性能的方法。
Apache HBase是一款列式数据库管理系统,它模仿的是运行在HDFS之上Google的Big Table项目。
诸如Hive,Impala,Stinger,Drill以及Spark SQL之类的SQL-on-Hadoop工具,这些工具为直接查询存储在HDFS中的数据提供了与SQL标准不同程度的兼容性。
诸如Pig之类的开发工具可以帮助开发人员构建MapReduce项目。
诸如ZooKeeper或是Ambari之类的配置管理工具可以用来进行监控和管理。
诸如Mahout之类的分析环境可以为机器学习,数据挖掘和预测分析提供分析模型。
由于该软件是开源的,因此对于Hadoop发行版你无需付费。相反的是,供应商则售卖有不同水平服务协议(SLAs)的年度支持订阅版本。虽然每家供应商都会对自家的附加组件进行提升,如此一来也作为Hadoop发布版的一部分为Hadoop社区做出了贡献,所有的供应商都会积极参与到Apache Hadoop社区中来。
谁在管理Hadoop大数据管理环境
在Hadoop系统之外获得所需性能需要一个熟悉IT专业的协调团队,该团队致力于架构计划,设计,开发,测试,部署,运行中操作和维护方面的工作以确保最佳性能,而意识到这一点是非常重要的。这样的IT团队通常会要求:
需求分析师基于运行于Hadoop环境中的应用程序类型来评估系统性能需求。
系统架构师评估性能需求并设计硬件配置。
系统工程师对Hadoop软件栈进行安装,配置和调优。
应用程序开发人员设计并实现应用程序。
数据管理专家做数据整合,创建数据布局并执行其他管理任务。
系统管理员进行操作管理和维护。
项目管理人员监督各级栈和应用程序开发工作的实现。
项目经理负责Hadoop环境和优先级,应用程序开发和部署的实现。
Hadoop软件平台市场
从本质上讲,作为一个可行的大规模数据管理生态系统,Hadoop的演化已经创造了一个新的软件市场,它正在转变商业智能和分析行业。这已经从两方面进行了扩展,即用户企业可以运行的分析应用程序以及可以作为这些应用程序一部分加以收集并进行分析的数据类型。在Hadoop中,该市场包括三个独立的专业供应商——Cloudera Inc., Hortonworks Inc. 和MapR Technologies Inc。其他提供Hadoop发行版或功能的公司包括Pivotal Software Inc., IBM,Amazon Web Services和Microsoft。
对那些提供Hadoop发行版本的供应商进行评估需要理解所供产品两个方面的异同。首先是技术本身:发行版中包含有哪些不同之处;它们支持什么样的平台;而且,最为重要的是,个体供应商集成了什么样的特定组件?其次是服务和支持模型:对于每类订阅级别都提供什么样的支持和SLAs,以及不同的订阅费用如何?
在这里我还是要推荐下我自己建的大数据学习交流qq裙:522189307 , 裙 里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据开发相关的),包括我自己整理的一份最新的大数据进阶资料和高级开发教程,欢迎进阶中和进想深入大数据的小伙伴。上述资料加群可以领取