Hadoop大数据平台建设要求及应答方案目录2技术规范书应答书 (2)2.1业务功能需求 (4)2.1.1系统管理架构 (4)2.1.2数据管理 (12)2.1.3数据管控 (26)2.1.4数据分析与挖掘 (27)2.2技术要求 (30)2.2.1总体要求 (30)2.2.2总体架构 (31)2.2.3运行环境要求 (32)2.2.4客户端要求 (35)2.2.5数据要求 (36)2.2.6集成要求 (36)2.2.7运维要求 (37)2.2.8性能要求 (49)2.2.9扩展性要求 (50)2.2.10可靠性和可用性要求 (52)2.2.11开放性和兼容性要求 (57)2.2.12安全性要求 (59)1大数据平台技术规范要求高度集成的Hadoop平台:一个整体的数据存储和计算平台,无缝集成了基于Hadoop 的大量生态工具,不同业务可以集中在一个平台内完成,而不需要在处理系统间移动数据;用廉价的PC服务器架构统一的存储平台,能存储PB级海量数据。
并且数据种类可以是结构化,半结构化及非结构化数据。
存储的技术有SQL及NoSQL,并且NoSQL能提供企业级的安全方案。
CDH提供统一的资源调度平台,能够利用最新的资源调度平台YARN分配集群中CPU,内存等资源的调度,充分利用集群资源;多样的数据分析平台–能够针对不用的业务类型提供不同的计算框架,比如针对批处理的MapReduce计算框架;针对交互式查询的Impala MPP查询引擎;针对内存及流计算的Spark框架;针对机器学习,数据挖掘等业务的训练测试模型;针对全文检索的Solr搜索引擎项目中所涉及的软件包括:•Hadoop软件(包括而不限于Hadoop核心)▪数据采集层:Apache Flume, Apache Sqoop▪平台管理:Zookeeper, YARN▪安全管理:Apache Sentry▪数据存储:HDFS, HBase, Parquet▪数据处理:MapReduce, Impala, Spark▪开发套件:Apache Hue, Kite SDK•关系型数据库系统:SAP HANA企业版•ETL工具:SAP Data Services数据管控系统的二次开发量如下:▪主数据管理功能通过二次开发的方式实现主数据管理功能,并集成甲方已有的主数据管理系统。
▪应实现元数据管理功能,#乙方应明确提出所能提供的项目团队在集成实施各阶段的人员参与数量和分工组成。
提供人员的资质、级别以及在项目中的工作时间、工作内容。
若乙方的方案建议及有关配置符合相关国际或行业标准,则应在应答书中具体说明,并附上相应的详细技术资料。
若乙方的软件产品包含自己专用标准,也应在应答书中具体说明,并附上相应的详细技术资料。
HDFS(Hadoop Distributed File System),是一个分布式文件系统。
它具有高容错性的特点,可以被广泛的部署于廉价的PC之上。
它以流式访问模式访问应用程序的数据,这大大提高了整个系统的数据吞吐量,能够满足多来源、多类型、海量的数据存储要求,因而非常适用于日志详单类非结构化数据的存储。
HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服务。
HBase 不是一个关系型数据库,其设计目标是用来解决关系型数据库在处理海量数据时的理论和实现上的局限性。
HBase 从一开始就是为Terabyte 到Petabyte 级别的海量数据存储和高速读写而设计,这些数据要求能够被分布在数千台普通服务器上,并且能够被大量并发用户高速访问。
MapReduce 是用于并行处理大数据集的软件框架。
MapReduce 的根源是函数性编程中的map 和reduce 函数。
Map 函数接受一组数据并将其转换为一个键/值对列表,输入域中的每个元素对应一个键/值对。
Reduce 函数接受Map 函数生成的列表,然后根据它们的键缩小键/值对列表。
MapReduce起到了将大事务分散到不同设备处理的能力,这样原本必须用单台较强服务器才能运行的任务,在分布式环境下也能完成了。
Hive是建立在Hadoop 上的数据仓库基础构架。
它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在Hadoop 中的大规模数据的机制。
Hive 定义了简单的类SQL 查询语言,称为HQL,它允许熟悉SQL 的用户查询数据。
同时,这个语言也允许熟悉MapReduce 开发者的开发自定义的mapper 和reducer 来处理内建的mapper 和reducer 无法完成的复杂的分析工作。
Impala是运行于Apache Hadoop之上业界领先的大规模并行处理(MPP)SQL查询引擎,它将时下流行的分布式并行数据库技术和Hadoop进行结合,帮助用户能够直接查询存储于Hdfs和Hbase的数据而不用进行数据迁移或者转变。
Impala设计之初就定位为Hadoop生态系统的一部分,因此,Impala和MapReduce,Hive,Pig以及Hadoop的其他组件,都享有共同的灵活的文件和数据格式。
Spark提供了一个快速的计算,写入,以及交互式查询的框架。
相比于Hadoop,Spark 拥有明显的性能优势。
Spark使用in-memory的计算方式,通过这种方式来避免一个Mapreduce工作流中的多个任务对同一个数据集进行计算时的IO瓶颈。
Spark利用Scala 语言实现,Scala能够使得处理分布式数据集时,能够像处理本地化数据一样Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如:MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS 中,也可以将HDFS的数据导进到关系型数据库中。
Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。
1.1 业务功能需求1.1.1系统管理架构1.1.1.1#整体架构方面1)大数据平台支持集团总部、省和地市三级使用方式。
使用单位还包括下属单位和控股公司等。
2)设计大数据平台整体框架,提出的建设方案应描述大数据平台对外提供的应用服务,平台内部服务组件,各服务组件之间的关系,大数据平台数据流量流向等。
3)实现Hadoop系统与甲方现有Oracle数据库及TeraData数据仓库的无缝连接。
4)Hadoop系统应实现主流数据仓库的功能。
大数据平台建立后,会包含集团内部全量分析数据,并且支持大量并发分析操作,因此能够大数据平台支持集团总部、省和地市三级使用方式。
使用单位还包括下属单位和控股公司等。
通过Data Services ETL工具,可以与现有的oracle以及teradata数据仓库进行无缝连接。
并且Hive组件可以提供主流数据仓库的功能。
Hive是建立在Hadoop 上的数据仓库基础构架。
它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在Hadoop 中的大规模数据的机制。
Hive 定义了简单的类SQL 查询语言,称为HQL,它允许熟悉SQL 的用户查询数据。
同时,这个语言也允许熟悉MapReduce 开发者的开发自定义的mapper 和reducer 来处理内建的mapper 和reducer 无法完成的复杂的分析工作。
1.1.1.2多应用方面实现大数据平台多应用管理。
支持对应用的服务级别管理(SLA)。
实现应用的访问资源控制,支持资源隔离。
为了实现一个Hadoop 集群的集群共享、可伸缩性和可靠性,并消除早期MapReduce 框架中的JobTracker性能瓶颈,开源社区引入了统一的资源管理框架YARN。
YARN 分层结构的本质是ResourceManager。
这个实体控制整个集群并管理应用程序向基础计算资源的分配。
ResourceManager 将各个资源部分(计算、内存、带宽等)精心安排给基础NodeManager(YARN 的每节点代理)。
ResourceManager 还与ApplicationMaster 一起分配资源,与NodeManager 一起启动和监视它们的基础应用程序。
在此上下文中,ApplicationMaster 承担了以前的T askTracker 的一些角色,ResourceManager 承担了JobTracker 的角色。
ApplicationMaster 管理一个在YARN 内运行的应用程序的每个实例。
ApplicationMaster 负责协调来自ResourceManager 的资源,并通过NodeManager 监视容器的执行和资源使用(CPU、内存等的资源分配)。
请注意,尽管目前的资源更加传统(CPU 核心、内存),但未来会带来基于手头任务的新资源类型(比如图形处理单元或专用处理设备)。
从YARN 角度讲,ApplicationMaster 是用户代码,因此存在潜在的安全问题。
YARN 假设ApplicationMaster 存在错误或者甚至是恶意的,因此将它们当作无特权的代码对待。
NodeManager 管理一个YARN 集群中的每个节点。
NodeManager 提供针对集群中每个节点的服务,从监督对一个容器的终生管理到监视资源和跟踪节点健康。
MRv1 通过插槽管理Map 和Reduce 任务的执行,而NodeManager 管理抽象容器,这些容器代表着可供一个特定应用程序使用的针对每个节点的资源。
1.1.1.3多租户方面实现大数据平台的多租户功能,包括但不限于多租户管理、租户的操作员管理、租户的分等分级分组管理、租户的度量管理、租户的角色管理、租户应用授权、租户数据隔离、租户的资源隔离等功能。
可以基于yarn进行二次开发,以满足上述的各种租户管理需求。
工作量预估为20人天。
1.1.1.4*统一运维监控方面1)统一运维监控功能包括但不限于:安全管理、用户管理、监控运维、服务调度、应用部署、资源管理、作业编排、服务接口等。
2)实现图形化监控管理。
监控内容包括但不限于:集群节点的运行状态、资源利用情况、网络通讯情况、图形化的启动、停止、删除节点、新增节点、迁移任务、迁移数据等操作。
3)可视化监控管理集群节点。
4)可视化监控管理数据对象。
5)可视化的租户管理。
6)实现平台日志管理。