当前位置:首页 > 曙光数据分析应用系统 - 图文
1. 数据分析应用系统介绍 1.1 曙光XData大数据支撑平台
8.1.1 概述
曙光XData-Hadoop是基于开源社区的Hadoop来构建的。开源社区提供了一个能够对海量数据进行分布式处理的软件框架,为处理多样化数据提供了一个超越传统存储和数据处理的解决方案,已经成为构建企业大数据架构的主流选择。曙光XData-Hadoop包含了开源社区的主要组件及其生态圈中的主流组件,并对这些组件在高可用性、安全、易管理、性能方面进行了大量的优化,让企业可以更快、更准、更稳的从各类繁杂无序的海量数据中洞察商机。曙光XData-Hadoop的构成如图所示。
曙光XDATA-HADOOP的构成
曙光XData-Hadoop系统是一个分布式数据处理系统。对外提供大容量的数据存储分析和查询能力,主要包括以下特征:
√ 经过客户验证的企业级Hadoop版本,稳定可靠;
√ 具有图形化安装、管理、监控工具,自动进行集群配置优化;
快速地存储、整合和管理不同类型的大容量数据;基于分布式批处理框架,将输
入的数据集划分为块后并行处理、排序、再归集,可处理PB级别的数据;
基于丰富的Hadoop领域经验,构建高性能的参数优化;
√ 在开源的Hadoop之上,全面支持Apache Flume、Apache Kafka、Apache Sqoop 、Stom、Spark等开源软件。
8.1.2 Hadoop的概述与发展史
Hadoop 系统最初的源头来自于Apache Lucene 项目下的搜索引擎子项目Nutch,该项目的负责人是Doug Cutting。2003 年,Google 公司为了解决其搜索引擎中大规模Web 网页数据的处理,研究发明了一套称为MapReduce 的大规模数据并行处理技术,并于2004 年在著名的OSDI 国际会议上发表了一篇题为“ MapReduce:Simplified Data Processing on Large Clusters”的论文,简要介绍MapReduce 的基本设计思想。论文发表后,Doug Cutting 受到了很大启发,他发现Google MapReduce 所解决的大规模搜索引擎数据处理问题,正是他同样面临并急需解决的问题。因而,他尝试依据Google MapReduce 的设计思想,模仿Google MapReduce 框架的设计思路,用Java 设计实现出了一套新的MapReduce 并行处理软件系统,并将其与Nutch分布式文件系统NDFS 结合,用以支持Nutch 搜索引擎的数据处理。2006 年,他们把NDFS和MapReduce 从Nutch 项目中分离出来,成为一套独立的大规模数据处理软件系统,并使用Doug Cutting 小儿子当时呀呀学语称呼自己的玩具小象的名字“ Hadoop”命名了这个系统。2008 年他们把Hadoop 贡献出来,成为Apache 最大的一个开源项目,并逐步发展成熟,成为一个包含了HDFS、MapReduce、HBase、Hive、Zookeeper 等一系列相关子项目的大数据处理平台和生态系统。
Hadoop 开源项目自最初推出后,经历了数十个版本的演进。它从最初于2007 年推出的Hadoop-0.14.X 测试版,一直发展到2011 年5 月推出了经过4500 台服务器产品级测试的最早的稳定版0.20.203.X。到2011 年12 月,Hadoop 又在0.20.205 版基础上发布了Hadoop1.0.0,该版本到2012 年3 月发展为Hadoop1.0.1 稳定版。1.0 版继续发展, 到2013 年8 月发展为Hadoop1.2.1 稳定版。
与此同时,由于Hadoop1.X 以前版本在MapReduce 基本构架的设计上存在作业主控节点(JobTracker)单点瓶颈、作业执行延迟过长、编程框架不灵活等较多的缺陷和不足,2011 年10 月,Hadoop 推出了基于新一代构架的Hadoop0.23.0 测试版,该版本系列最终演化为Hadoop2.0 版本, 即新一代的Hadoop 系统YARN。2013 年10 月YARN 已经发展出Hadoop2.2.0 稳定版。
hadoop主要的一些特点:
1.扩容能力(Scalable):能可靠地(reliably)存储和处理千兆字节(PB)数据。 2.成本低(Economical):可以通过普通机器组成的服务器群来分发以及处理数据。这些服务器群总计可达数千个节点。
3.高效率(Efficient):通过分发数据,hadoop可以在数据所在的节点上并行地(parallel)
处理它们,这使得处理非常的快速。
4.可靠性(Reliable):hadoop能自动地维护数据的多份复制,并且在任务失败后能自动地重新部署(redeploy)计算任务。
8.1.3 Hadoop分布式存储与计算框架
HADOOP分布式存储与计算框架
上图展示了Hadoop 系统的分布式存储和并行计算构架。从硬件体系结构上看,Hadoop
系统是一个运行于普通的商用服务器集群的分布式存储和并行计算系统。集群中将有一个主控节点用来控制和管理整个集群的正常运行,并协调管理集群中各个从节点完成数据存储和计算任务。每个从节点将同时担任数据存储节点和数据计算节点两种角色,这样设计的目的主要是在大数据环境下实现尽可能的本地化计算,以此提高系统的处理性能。为了能及时检测和发现集群中某个从节点发生故障失效,主控节点采用心跳机制(Heartbeat)定期检测从节点,如果从节点不能有效回应心跳信息,则系统认为这个从节点失效。
从软件系统角度看,Hadoop 系统包括分布式存储和并行计算两个部分。分布式存储构架上,Hadoop 基于每个从节点上的本地文件系统,构建一个逻辑上整体化的分布式文件系统,以此提供大规模可扩展的分布式数据存储功能,这个分布式文件系统称为HDFS(Hadoop Distributed File System),其中,负责控制和管理整个分布式文件系统的主控节点称为NameNode,而每个具体负责数据存储的从节点称为DataNode。
进一步,为了能对存储在HDFS 中的大规模数据进行并行化的计算处理,Hadoop 又提供了一个称为MapReduce 的并行化计算框架。该框架能有效管理和调度整个集群中的节点来完成并行化程序的执行和数据处理,并能让每个从节点尽可能对本地节点上的数据进行本地化计算,其中,负责管理和调度整个集群进行计算的主控节点称为JobTracker,而每个负责具体的数据计算的从节点称为TaskTracker。JobTracker 可以与负责管理数据存储的主控节点NameNode 设置在同一个物理的主控服务器上,在系统规模较大、各自负载较重时两者也可以分开设置。但数据存储节点DataNode 与计算节点TaskTracker 会配对地设置在同一个物理的从节点服务器上。
Hadoop 系统中的其他子系统,例如HBase、Hive 等,将建立在上述HDFS 分布式文件系统和MapReduce 并行化计算框架之上。
分布式文件系统HDFS
大数据处理面临的第一个问题是,如何有效存储规模巨大的数据?对于大数据处理应用来说,依靠集中式的物理服务器来保存数据是不现实的,容量也好,数据传输速度也好,都会成为瓶颈。要实现大数据的存储,需要使用几十台、几百台甚至更多的分布式服务器节点。为了统一管理这些节点上存储的数据,必须要使用一种特殊的文件系统——分布式文件系统。为了提供可扩展的大数据存储能力,Hadoop 设计提供了一个分布式文件系统HDFS(HadoopDistributed File System)。
HDFS 被设计成在普通的商用服务器节点构成的集群上即可运行,它和已有的分布式文件系统有很多相似的地方。但是,HDFS 在某些重要的方面,具有有别于其他系统的独特优点。这个特殊的文件系统具有相当强大的容错能力,保证其在成本低廉的普通商用服务器上也能很好地运行;进一步,HDFS 可以提供很高的数据吞吐能力,这对于那些需要大数据处理的应用来说是一项非常重要的技术特征;另外,HDFS 可以采用流式访问的方式读写数据,在编程方式上,除了API 的名称不一样以外,通过HDFS 读写文件和通过本地文件系统读写文件在代码上基本类似,因而非常易于编程使用。
HDFS 具有下列六种基本特征: 1. 大规模数据分布存储能力
HDFS 以分布存储方式和良好的可扩展性提供了大规模数据的存储能力,可基于大量分布节点上的本地文件系统,构建一个逻辑上具有巨大容量的分布式文件系统,并且整个文
共分享92篇相关文档