1、H3C FlexData MPP Cluster技术白皮书H3C大数据产品技术白皮书杭州华三通信技术有限公司2024年5月目 录1H3C大数据产品介绍11.1产品简介11.2产品架构11.2.1 数据处理21.2.2 数据分层31.3产品技术特点4先进的混合计算架构4高性价比的分布式集群4云化ETL4数据分层和分级存储5数据分析挖掘5数据服务接口5可视化运维管理51.4产品功能简介6管理平面功能:6业务平面功能:62DataEngine HDP核心技术83DataEngine MPP Cluster核心技术83.1MPP + Shared Nothing架构83.2核心组件93.3高可用103
2、.4高性能扩展能力103.5高性能数据加载113.6OLAP函数123.7行列混合存储12杭州华三通信技术有限公司IIH3C FlexData MPP Cluster技术白皮书1 H3C大数据产品介绍1.1 产品简介H3C大数据平台采用开源社区Apache Hadoop2.0和MPP分布式数据库混合计算框架为用户提供一套完整的大数据平台解决方案,具备高性能、高可用、高扩展特性,可以为超大规模数据管理提供高性价比的通用计算存储能力。H3C大数据平台提供数据采集转换、计算存储、分析挖掘、共享交换以及可视化等全系列功能,并广泛地用于支撑各类数据仓库系统、BI系统和决策支持系统帮助用户构建海量数据处理
3、系统,发现数据的内在价值。1.2 产品架构H3C大数据平台包含4个部分:第一部分是运维管理,包括:安装部署、配置管理、主机管理、用户管理、服务管理、监控告警和安全管理等。第二部分是数据ETL,即获取、转换、加载,包括:关系数据库连接Sqoop、日志采集Flume、ETL工具 Kettle。第三部分是数据计算。MPP采用分析型分布式数据库,存储高价值密度的结构化数据;Hadoop存储非结构化/半结构化数据和低价值密度结构化数据。计算结果都存到数据仓库,数据仓库中的数据可直接用于分析和展示。数据仓库是面向主题的、集成的、稳定的且随时间不断变化的数据集合,用以支持经营管理中的决策制定过程。第四部分数
4、据服务,包括:机器学习、数据挖掘、数据检索、数据可视化、即席分析、SQL和API,为应用层提供服务和中间件调用。第1章1.11.21.2.1 数据处理对于大数据管理平台,应该建立一套标准化、规范化的数据处理流程,例如:如何采集内部和外部数据、结构化和非结构化数据;如何清洗采集来的脏数据和无效数据;如何对不同来源的数据进行打通;如何对非结构化的数据进行结构化加工;如何在结构化数据的基础上进行商业建模和数据挖掘等等。大数据管理层在一条数据总线上构建了一条完整的大数据处理流水线。这条流水线从数据的采集、清洗到加工处理,把原始杂乱无章的数据加工成结构化的数据组件,供上层的大数据应用来拼装调用,让企业拥
5、有创造数据资产的能力。1.2.2 数据分层l ODS层:数据来源于各生产系统,通过ETL工具对接口文件数据进行编码替换和数据清洗转换,不做关联操作。未来也可用于准实时数据查询。l 轻度汇总层:主题域内部基于明细层数据,进行多维度的、用户级的汇总l 明细数据层:主题域内部进行拆分、关联。是对ODS操作型数据按照主题域划分规则进行的拆分及合并。l 信息子层:报表数据、多维数据、指标库等数据来源于汇总层。汇总层:主题域之间进行关联、汇总计算。汇总数据服务于信息子层,目的是为了节约信息子层数据计算成本和计算时间。l 应用层:应用系统的私有数据,应用的业务数据。精细化营销做为大数据平台的一个上层应用,由
6、大数据平台提供数据支撑。1.3 产品技术特点第1章1.1先进的混合计算架构 采用Hadoop和MPP融合技术架构,对半结构化和非结构化数据支持并行计算和低成本存储,提供低时延、高并发的查询和分析功能;对结构化数据采用MPP分布式列存储,支持分布式计算、智能索引等功能,实现高性能结构化数据分析处理。集成MapReduce、Spark、Storm、Tez等多种计算框架,利用YARN资源管理做统一管理,可在同一份数据集上运行多种计算。离线计算、内存计算和流式计算并存,能满足高吞吐、大数据量和低时延实时处理等多方面的数据计算要求。高性价比的分布式集群 基于x86服务器本地的计算与存储资源,计算集群可以
7、动态调整,从数台到数千台之间弹性扩展,按需构建应用,减少总体成本;同时,在设计时充分考虑了硬件设备的不可靠因素,在软件层面提供计算和存储的高可靠保证,具备较强的容错性。 云化ETL 将不同业务系统中分散、零乱、标准不统一的各种源数据中的数据进行汇聚。支持从DBMS、互联网、物联网、企业生产系统等各种数据源中提取数据。各类数据经过抽取、清洗和转化后,实现多对多地加载到包含但不限于大数据集群和各类关系型数据库中。该过程由一个统一的操作接口封装,经过无代码的可视化配置后,可实现自动化地、分布式地执行整个ETL作业流程。数据分层和分级存储 把数据按照不同阶段分为ODS(Operational Data
8、 Store)数据、轻度汇总数据、信息子层数据和应用数据,分别存储在Hadoop平台、MPP分布式数据库和数据仓库,满足不同阶段的计算需求;按照在线数据、历史数据等来管理数据生命周期,满足在线数据的高性能存储的需求;将核心模型数据通过改造融入到数据仓库的核心模型中,减少数据冗余,提升数据质量;将数据仓库中的历史数据迁移到低成本分布式数据库,减轻数据仓库的计算与存储压力并支撑深度数据分析。数据分析挖掘 支持R语言,集成机器学习算法库Mahout和Spark MLlib,包含聚类分析、分类算法、频度关联分析和推荐系统在内的常用机器学习算法。满足批处理统计分析、在线数据检索、R语言数据挖掘、实时流处
9、理、全文搜索等全方位需求。可帮助企业建立高速可扩展的数据仓库和数据集市,结合多种报表工具提供交互式数据分析、即时报表和BI可视化展示能力。数据服务接口 提供交互式SQL和可编程API,提取数据存储计算平台的数据处理结果,屏蔽底层细节,为上层应用提供数据服务。主要包括SQL接口、MapReduce/Spark/Storm计算接口等多种可编程API、全文实时搜索接口、业务定向接口、关联查询接口,满足数据查询、可视化BI展示、数据交换、数据分析、目录服务、综合查询等业务应用的需要。可视化运维管理 提供Web图形化界面实现运集群的管理和监控,集群的节点、主机和服务的运行状态都能在界面上显示,操作友好,
10、功能丰富。提供集群快速安装部署、机架展示、用户权限管理、主机与服务管理、监控及告警通知等多方面支持,在可管理性方面优势显著。服务分类服务名称服务功能说明系统服务YARN一种全新的通用的Hadoop资源管理器,为集群在利用率和资源统一管理等方面带来了巨大便利。可使MapReduce、Spark、Storm等共存。ZooKeeper分布式应用程序协调服务,保证集群的一致性。提供的功能包括:配置维护、名字服务、分布式同步、组服务等。Slider将已存在服务部署在YARN集群上,而不用修改已存在服务。Oozie提供Hadoop作业工作流管理功能,可管理MR、Hive、Pig、Sqoop和HDFS 等任
11、务。Kafka一种低时延高吞吐量的分布式发布/订阅消息系统,同时满足在线和离线处理海量消息数据派发。Kerberos一个基于共享密钥对称加密的安全网络认证系统,可防止对集群的恶意使用和篡改,保障Hadoop集群的安全可靠。计算服务MapReduce批处理框架,将一个大任务分成多个独立的小任务,最后汇总各个小任务的结果。用户只需关注上层应用的逻辑,完全不用关注底层分布式细节,大大提升了分布式应用开发的效率和质量。主要用于离线计算和计算密集型应用。Spark迭代计算框架,基于内存计算。性能比MR快10-100倍,通用性好,支持批处理、流处理、SQL查询、机器学习、图计算等。Storm流处理框架,具
12、有效率高、能保证每条消息都能被处理和实践应用很多等优点。TezMapReduce程序性能优化器。将MR程序转化为有向无环图,大大提升性能。存储服务HDFSHadoop分布式文件系统,具有高容错性,可以部署在廉价的机器上。提供高吞吐量来访问应用程序的数据,适合存储超大数据集。HBase分布式、面向列数据库,利用HDFS作为持久化数据存储,使用Zookeeper作为协同服务组件。具有容量巨大、面向列存储和权限控制、稀疏性、高可用和高性能等特点。数据处理SqoopHadoop和关系型数据库之间进行批量数据转移的工具。Flume一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Hive基
13、于Hadoop的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,采用HiveQL作为查询语言。将HiveQL转换为MapReduce任务,从而完成海量数据的查询和分析。Pig基于Hadoop的数据流处理引擎,将类SQL的数据分析请求转换为Map/Reduce任务。Mahout机器学习算法库,3个主要应用场景是协作筛选、集群和分类,可使用MR、Scala、Spark来提交Mahout接口。数据即服务提供机器学习Mahout、数据挖掘、数据检索、R语言、交互式SQL(SQL on Hadoop)、可编程API等功能,满足上次应用开发需求。MPP分布式数据库H3C MPP关系型数据库集群,良
14、好的SQL语言支持。高性能、高容错、高可用。1.4 产品功能简介服务名称服务功能说明安装部署提供定制部署、Zero部署和虚机部署等多种集群部署方式,满足用户不用应用场景需求。提供Web图形化界面和快速向导,引导用户快捷高效地建立集群。机架管理实现HDFS副本存放策略的可视化管理。配置管理实现集群各项服务配置参数的历史快照功能,记录配置变更,方便性能调优。用户和组管理支持单用户和用户组管理,便捷的用户和组的增删操作,提供不同级别的访问权限控制;主机管理实时监控主机各项硬件资源(CPU、内存、磁盘、网络等)及其上承载的服务的运行状态。执行主机级别操作如停止、运行主机上的服务等。服务管理对集群的各项
15、服务做集中式管理,提供启动服务、停止服务、修改属性和设定运行参数等功能。实现集群各项服务运行状态(基本信息、告警、运行健康状态)实时监控。监控和告警监控集群运行的健康状态,在特定的情况下发出信息,帮助识别和定位问题原因。可自定义告警的监控间隔和阈值、触发条件、告警通知方式。版本管理实现HDP Stack可用服务和软件版本的管理功能。多租户支持多租户访问集群资源。安全管理支持本地、LDAP和Kerberos多种身份认证方式,实现访问权限控制。支持对文件、目录、表、列、行等细粒度的访问控制,可防止对集群的恶意使用和篡改,保证集群的可安全可靠。数据管理实现数据的压缩、备份、交换及数据ETL的管理。管
16、理平面功能:业务平面功能:杭州华三通信技术有限公司 - 8 -H3C FlexData MPP Cluster技术白皮书2 DataEngine HDP核心技术DataEngine HDP基于X86服务器本地的计算与存储资源提供了分布式并行计算和低成本存储,提供低时延、高并发的查询功能,集群可以扩展到上千台服务器。H3C通过对Hadoop开源组件的封装和增强,对外提供数据分布式计算存储、数据分析能力。l 资源管理YARN:改进的YARN统一资源管理,在同一物理主机/虚拟主机和数据集上运行多种计算框架,包括离线计算、内存计算和实时计算。l 分布式文件系统HDFS:分布式文件系统,有较强的容错性,
17、可在x86平台上运行,减少总体成本,可扩展,能构建大规模的应用。l 数据库HBase:HBase是一种构建在HDFS(Hadoop Distributed File System)之上的分布式、面向列的存储系统,它具有高可靠、高性能、面向列和可伸缩的特性。HBase适合于存储大表数据(表的规模可以达到数十亿行以及数百万列),并且对大表数据的读、写访问可以达到实时级别。l 离线计算: MapReduce是一种离线计算框架,将一个算法抽象成Map和Reduce两个阶段进行处理,适合数据密集型计算场景。l 内存计算: Spark是一种内存计算框架,它将数据尽可能放到内存中以提高迭代应用和交互式应用的
18、计算效率。l 实时计算: Storm擅长流式计算、实时分析,比如广告点击计算、它在实时性要远远好于MapReduce计算框架。第2章3 DataEngine MPP Cluster核心技术3.1 MPP + Shared Nothing架构DataEngine MPP Cluster采用完全并行的 MPP + Shared Nothing 的分布式扁平架构,这种架构中的每一个节点(node)都是独立的、自给的、节点之间对等,而且整个系统中不存在单点瓶颈,具有非常强的扩展性。图 31 Shared Nothing + MPP 架构示意图3.2 核心组件DataEngine MPP Cluster
19、产品总共包含三大核心组件,即GCluster、GCware和GNode。GCWare用于各节点GCluster实例间共享信息,GCluster负责集群调度,每个GNode就是最基本的存储和计算单元。GCluster:GCluster负责SQL的解析、SQL优化、分布式执行计划生成、执行调度。GCWare:GCWare用于各节点GCluster实例间共享信息(包括集群结构,节点状态,节点资源状态等信息),以及控制多副本数据操作时,提供可操作节点,并在多副本操作中,控制各节点数据一致性状态。GCWare对于集群的管理工作是以节点为基本单位的。GNode:GNode是GCluster中最基本的存储和
20、计算单元。GNode是由GCWare管理的一个8a实例,每个GCluster节点上有一个GNode实例运行。GNode负责集群数据在节点上的实际存储,并从GCluster接收和执行经分解的SQL执行计划,执行结果返回给GCluster。数据加载时,GNode直接从集群加载服务接收数据,写入本地存储空间。GCMonit:GCMonit用于定期监测DataEngine MPP Cluster服务程序的运行状态, 一旦发现某个服务程序的进程状态发生变化,就会根据配置文件中的内容来执行相应的命令。GCMonit进程监控程序为集群中的每个组件提供各自的启停脚本,提供的总脚本可以一次性启停所有模块的服务。
21、3.3 高可用DataEngine MPP Cluster通过SafeGroup组内冗余机制来保证集群的高可用特性:1) 每个SafeGroup可提供1个或2个副本数据冗余;2) SafeGroup 内数据副本自动同步;3) 复制引擎自动管理数据同步;图 32 SafeGroup高可用性管理示意图3.4 高性能扩展能力DataEngine MPP Cluster具备高性能扩展能力:1) 通过SafeGroup 动态扩展集群节点;2) 每个节点可以处理10TB有效数据,同时提供计算和存储能力;3) GCware 负责新节点的数据同步。图 33 DataEngine MPP Cluster扩展技术
22、示意图因为DataEngine MPP Cluster采用高性能单节点的MPP扁平架构,因此进行集群扩展时,可以保证平滑扩展和性能的线性增长特性。图 34 DataEngine MPP Cluster高性能高扩展示意图3.5 高性能数据加载数据加载功能作为DataEngine MPP Cluster的一部分而存在,目的是将用户从其他数据源得到的原始数据文件,按照某种加载规则分发至集群节点,集群各节点接收数据入库保存到本地磁盘。集群加载采用C/S架构,包括数据分发服务器和数据分发客户端两个应用程序。数据分发服务器接收到客户端的数据加载请求后,服务器端负责原始数据文件切分和数据文件的下发;各节点调
23、用本地的集群加载服务接收数据入库并保存到本地磁盘。图 35数据加载示意图 3.6 OLAP函数DataEngine MPP Cluster 提供OLAP函数,用于支持复杂的分析操作,侧重于对决策人员和高层管理人员的决策支持。可根据分析人员的要求,快速灵活地进行大数据量的复杂查询处理,以便他们准确掌握企业的经营状况,了解被服务对象的需求,制定正确的方案。3.7 行列混合存储DataEngine MPP Cluster采用的行列混合存储的存储结构,改善了当需要物化的列数较多,查询命中的数据记录又非常离散时,会频繁访问I/O的状况,大大缩短了查询耗时,从而提高了查询效率。DataEngine MPP Cluster提供的行列混合存储技术,它通过创建行存列的机制,减少I/O访问的次数,从而有效地提高I/O性能。杭州华三通信技术有限公司 - 13 -