分享

237页(10万字)数据中台建设方案2022版本

 mrjiangkai 2022-09-20 发布于上海

237页(10万字)数据中台建设方案2022版本

2022-09-16 18:23·数字化动态

1. 数据中台平台建设方案 2

1.1. 总体建设方案 2

1.1.1. 大数据平台-TDH 2

1.1.2. 云操作系统-TOS 3

1.1.3. 大数据平台产品优势 7

1.1.4. 大数据平台性能优化 12

1.2. 大数据集成平台 22

1.2.1. 数据采集层建设 22

1.2.2. 数据存储层建设 32

1.2.3. 数据交换层建设 41

1.2.4. 数据管理层建设 62

1.2.5. 资源管理层建设 76

1.3. 大数据计算平台 82

1.3.1. 数据计算层建设 82

1.4. 大数据开发平台 138

1.4.1. 大数据平台可视化工具 138

1.4.2. 大数据平台集成能力 183

1.5. 大数据运维平台 184

1.5.1. 大数据平台运维 184

1.5.2. 大数据平台安全性 218

1.5.3. 大数据平台高可用性 227

1.5.4. 大数据平台开放性 230

1.5.5. 大数据平台兼容性 231

1.1.1. 大数据平台-TDH

星环大数据平台Transwarp Data Hub(简称TDH)基于开源Spark技术,从查询引擎、计算框架、存储引擎和资源调度等方面做了性能的优化,相较于同类产品,提供更好的性能。改进的分布式计算引擎Inceptor,解决了开源Spark的稳定性问题,并且已经在众多成功案例中经历了的考验。同时Ipcetor大幅提高Spark计算性能,是开源的2-10倍。TDH Inceptor极大提高了Spark功能和性能的稳定性,可以7*24小时在企业的生产环境运行,并能在TB级规模数据上高效进行各种稳定的统计分析。

星环大数据平台TDH采用基于Hadoop的数据平台架构,海量数据查询分析服务集群既可以处理结构化的数据,也可以处理非结构化、半结构化的数据,满足配置、日志、网页、音视频、社交网络等多源异构数据的加载和存储,提供数据查询、全文检索、数据离线批处理分析、交互式分析、图分析、数据挖掘、机器学习等多种数据处理模式。同时,基于平台提供的实时流处理集群,可以满足实时数据研判分析服务的需求。整个平台提供完整的多租户功能,对于计算资源与存储资源以及数据访问资源进行统一控制管理,对于计算资源进行高效的调度管理与使用控制;对于存储资源进行配额管理;对于数据访问权限,进行严格的权限管理。在安装、配置、监控、告警方面,通过统一的Transwarp Manager进行运维管理。

星环大数据平台TDH应用范围覆盖各种规模和不同数据量的企业,通过内存计算、高效索引、执行优化和高度容错的技术,使得一个平台能够处理10GB到100PB的数据,并且在每个数量级上,都能比现有技术提供更快的性能;企业客户不再需要混合架构,TDH可以伴随企业客户的数据增长,动态不停机扩容,避免MPP或混合架构数据迁移的棘手问题。

1.1.2. 云操作系统-TOS

星环云操作系统Transwarp Operating System(简称TOS)是为大数据应用量身订做的云操作系统,基于Docker和Kubernetes开发。TOS支持一键部署TDH,基于优先级的抢占式资源调度和细粒度资源分配,让大数据应用轻松拥抱云服务。

未来企业对于构建统一的企业大数据平台(Data Hub)来驱动各种业务具有强烈需求,统一的企业大数据平台需要提供以下功能:

l 资源弹性共享—提高资源利用率

灵活部署:支持灵活部署大数据应用和其他常规应用

资源调度:具备自动扩容和自动修复功能

服务发现:具备集中式的仓库

l 隔离性—保障服务质量和安全性

数据隔离:包括数据源、访问模式等

计算隔离:隔离CPU、内存、网络、磁盘IO等

TOS满足了以上企业大数据平台的需要,支持对TDH的一键式部署、扩容、缩容,同时也允许其他服务和大数据服务共享集群,从而提高资源的使用率。TOS创新的抢占式资源调度模型能在保障实时业务的同时,提高集群空闲时的资源占用,让批量作业和实时业务在互不干扰的情况下分时共享计算资源。

另外,在TOS上运行的TDH还引入微服务的架构,显著地降低了用户部署环境对TDH稳定性的影响,提高了部署的可用性,并且能让用户在不停机的前提下,享受到将来更新版本的升级以及修复。

TOS由以下几个部分组成:

容器层

容器层主要包含一系列的容器—docker container。Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在测试机上编译测试通过的容器可以批量地在生产环境中部署。

Docker容器通过Docker镜像来创建,容器与镜像的关系类似于面向对象编程中的对象与类。每个容器分配了一定的计算及存储资源,可以运行各自的应用程序。通过将应用服务装载在Docker容器中,能够实现应用环境和底层环境的解耦合,容器间相互隔离互不影响。

调度模块

基于Kurbernetes开发,包含多种调度模块,以及相应的调度策略。支持对CPU、内存的调度,内嵌了FIFO调度、公平调度等常规的调度策略。额外的,基于Docker容器能够快速启动的特点,TOS还包含了抢占式的优先级调度策略,通过设计不同的优先级,优先级高的容器能够抢占优先级低容器的资源启动。

系统服务层

系统服务层包含了容器正常运行所需的系统服务,如服务etcd、name service等,该层用于支持平台的容器化。

集中式服务仓库

类似于Maven的集中仓库,TOS也自带了一个集中式的应用服务仓库。用户需要启动一个已存在于仓库中的应用时,只需要将该应用的Docker image拉下来启动即可。

仓库预置了常用的应用服务,如完整Docker化的Transwarp Data Hub各个组件和Tomcat、MySQL等常用服务。如果用户想要使用其他应用服务,也可以通过TOS提供的接口,在测试环境将应用服务制作为DockerImage,上传至TOSmarket,即可在生产环境下载并使用。

基于分布式容器集群管理系统(TOS)构建的服务器虚拟化资源池,可为大数据平台系统的各类应用、分布式计算和存储服务组件提供多租户隔离的容器资源调配管理、应用打包部署及SLA管理、作业调度管理以及统一运维监控管理。

该系统具备以下优势:

l 便捷部署

基于TOS,用户可以通过Web UI、REST API或者命令行一键瞬间安装和部署TDH集群,能自动根据服务的依赖性安装所需的其他服务组件。在虚拟技术之前,部署硬件资源满足新的应用需求需要几天时间,通过虚拟化技术把这个时间降到了分钟级别,而目前基于Docker的TOS云平台把时间降到了秒级别。Docker作为装载进程的容器,不必重新启动操作系统,几秒内能关闭,可以在数据中心创建或销毁,没有额外消耗。典型的数据中心利用率是30%,通过更积极的资源分配,以低成本方式对新的实例实现更合理的资源分配,从而提高数据中心的利用效率。

l 完整的资源隔离

TOS通过优化Kubernetes资源管理框架实现了基于Docker容器对CPU、内存、硬盘和网络更好的隔离。TOS中Docker容器的隔离目前是由Linux内核提供的六项隔离,包括主机名与域名的隔离,信号量、消息队列和共享内存的隔离,进程编号的隔离,网络设备、网络栈、端口的隔离,挂载点(文件系统)的隔离,用户和用户组的隔离。这些隔离保证了不同容器的运行环境是基本不受影响的,比如挂载点的隔离,就保证了一个容器中的进程不能随意访问另外一个容器中的文件。

TOS平台相比于传统的Apache Yarn管理框架和开源Kubernetes的资源管理框架而言,在资源粒度方面可以管控磁盘和网络,而传统资源调度框架只能管理到CPU和内存;在隔离性方面,容器技术有天然的优势;在依赖性和通用性方面,不依赖于Hadoop组件以及技术,这意味着可以实现所有上层应用的云化开发、测试、升级以及管理调度。

资源粒度

隔离程度

依赖性

通用性

YARN

CPU/MEM

进程级别、不精确

依赖某个HDFS

支持少量计算引擎

Kubernetes

CPU/MEM

Container

不依赖Hadoop

支持通用Linux负载

TOS

CPU/MEM,DISK,NETWORK

Container Quota VLAN

不依赖Hadoop

支持大数据及通用应用

l 灵活资源调度

TOS支持对TDH组件自动扩容或者缩容,同时也允许其他应用服务和大数据服务共享集群,从而提高资源的使用率。TOS创新的支持抢占式资源调度模型,能在保障实时业务的同时,提高集群空闲时的资源占用,让批量作业和实时业务在互不干扰的情况下分时共享计算资源。通过支持动态扩容和收缩集群,从何实现了资源的动态分配与调度,整个过程热插拔业务、服务无需重启。

l 自动修复

TOS的Replicator模块负责检测集群规模,当集群中服务发生问题时可以另起一个服务实例实现集群的自我修复功能。举例而言,某个HyperbaseRegionServer由于硬件原因服务停止,TOS平台能够实时感知,并在管理的资源范围内另起一个Region Server的Docker容器接替因故停止的容器,动态的保证了服务集群的整体稳定性。

l 应用隔离

在TOS上运行的TDH以及应用服务还引入微服务的架构,显著降低用户部署环境对TDH以及应用服务稳定性的影响,提高了部署的可用性,并且能让用户在一定程度上不停止业务以及服务的前提下,进行快捷的TDH以及应用服务更新版本滚动升级。

1.1.3. 大数据平台产品优势

1.1.3.1. 完整的SQL支持

星环大数据平台支持完整的SQL 99标准和SQL 2003核心扩展,可以运行TPC-DS标准测试集的全部99个测试项;

唯一支持存储过程的SQL on Hadoop引擎;兼容98%以上的Oracle PL/SQL 与80%以上的DB2 SQL PL语法 支持存储过程、函数、控制流、游标、异常处理等各类语法。

唯一支持ACID分布式事务的大数据SQL引擎;定位数据仓库和数据集市市场,可用于补充或替代Oracle、DB2等分析用数据仓库。

TDH提供ANSI SQL2003语法支持以及PL/SQL过程语言扩展,并且可以自动识别HiveQL、SQL2003和PL/SQL语法,在保持跟Hive兼容的同时提供更强大的SQL支持。支持标准的SQL形式访问数据。TDH更完整的SQL支持使得用户能将原有数据分析应用方便地迁移到Transwarp大数据平台,同时又能处理更大的数据量。

为了降低开发流应用程序的难度,TDH还支持Stream SQL标准,其中包含流扩展后的SQL 99。因此,开发者可以在TDH上直接使用SQL而不是通过各种API来编写流计算程序,也不需要考虑任何打包或部署工作。为了更好的提供全文搜索服务,TDH中的Search也支持SQL的检索扩展语法(兼容Oracle标准)。由于支持标准的JDBC 4.0和ODBC 3.5,TDH可以兼容主流的数据库软件和中间件。

1.1.3.2. 完整的事务支持

ACID对于大数据的数据处理和数据清洗过程至关重要。如果没有ACID,数据的插入修改过程将存在各种潜在问题,终端用户需要亲自探究事务操作的失败原因并找出避免和解决问题的方法,这使用户应用的过程变得复杂,甚至根本不可行。更糟糕的是,如果没有ACID,当两个应用程序向同一个数据块中写入数据时,会很容易出错。

TDH是第一个提供完整ACID支持的Hadoop商业化产品。Transwarp Inceptor实现了串行化的事务隔离,并通过两阶段锁和MVCC协议保证数据的一致性。

1.1.1.1.1. 非结构化数据加载

业务系统产生的各种类型的文档、图片、非结构化文本需要在TDH上进行存储、检索等处理方式,在TDH上通过定制Flume组件、API接口可以将非结构化数据(文档、图片、音视频等多媒体文件)传输加载到HDFS上或者Hyperbase表中进行处理或者高效检索,TDH上支持ObjectStore对象存储,针对大量小文件(一般小于等于10M)在HDFS上存储的方式进行优化,将数据文件封装为ObjectStore对象进行存储,支持高效率读写ObjectStore对象。因此TDH上支持针对0 KB到数TB的文件的加载、存储和处理或者检索的完整解决方案。

业务系统定义数据格式,数据源(非结构化的文档、图片、音视频多媒体文件等),数据存储端(HDFS、Search、Hyperbase等),数据调度方式,数据同步方式等,TDH上根据定义的数据加载方式为该任务自动配置数据处理的数据源、中间件(API/REST API、FTPOverHDFS、JDBC/ODBC、Flume等)、存储以及处理方式等,启动相应的Oozie工作流任务或者中间件的调度任务,并对数据的加载、传输以及处理入库全流程进行监控和记录。

TDH上支持将各类非结构化文本数据、图片、音频、视频的加载,以文件的形式存储。在TDH中支持将非结构化数据封装成Object Store对象进行存储。在负载均衡方面,当一类数据加载量较大时支持由多个加载客户端并行加载。Sqoop,Flume,Kafka等工具均是分布式架构数据采集工具,支持多任务并行执行。Sqoop通过生成并提交MapReduce程序来切分task实现并行执行抽取数据任务;Flume通过分布式架构可以通过定义多个Agent或者多组Source-Channel-Sink组件来实现多个客户端并行加载数据;Kafka通过定义并行收集数据的Kafka Producer或者多个Kafka Producer来对数据进行并行加载。数据存入HDFS文件系统进行存储、分析和挖掘,或者存入到Hyperbase数据库进行快速检索。TDH上数据加载和传输支持断点续传功能。当目标接收端出现问题恢复时能够在上次传输的断点继续传输。Kafka中的数据缓存在磁盘上,在队列中记录有消息被消费的偏移量offset,因此可以缓存传输中的断点位置来保证数据进行断点续传。

在万兆网络的环境下,单台客户端支持的数据加载速度在300MB/s及以上(现场测试结果),可以随集群规模线性扩展直至到达网络传输最大带宽。通过对象存储与分布式文件系统存储能力,支持1KB到PB级数据存储。

1.1.1.1.2. 流式数据加载

流数据采集可通过高吞吐、高可靠的分布式消息队列缓存Kafka及flume来实现。Kafka可以用作数据缓冲队列,作为流处理的数据源。Transwarp Stream作为Kafka的消费者,使用StreamSQL对数据进行处理。在万兆网络,使用双副本的条件下,对于高效模式单台数据总线服务器支持的业务数据加载速度在300MB/s及以上,吞吐能力可以随集群规模线性扩展。对于可靠模式支持的业务数据单节点加载速度25M/s及以上,可以线性扩展至网络传输的极限。高效模式下数据丢失率在万分之一以内。可靠模式下加载数据要求与输入数据一致。单集群支持的数据总线服务器总数随集群规模扩展而增加,支持100节点以上的集群规模。数据从发布到订阅时延在1秒以内。

Kafka数据总线支持数据订阅和发布功能,可以通过定义消息总线发布端、订阅端、消息队列、数据格式等相关配置来发布数据总线并自动维护总线消息队列,自动对总线消息进行全流程监控。数据由数据客户端加载数据库中数据、由WebService业务系统的访问请求或者外部检索工具发出的请求消息,Kafka中支持缓存和传输结构化半结构以及非结构的文本各类数据以及消息。数据源包括,数据加载客户端,流处理引擎,数据表存储,数据抽取工具或者其他自定义的Kafka Producer。订阅客户端包括:流处理引擎,数据表存储,K-V存储或者自定义的Kafka Consumer。Kafka中可以在Topic上进行业务标记或者在传输的消息中对业务类型等信息进行标记。

Kafka支持跨集群同步,通过MirrorMaker实现两个数据总线集群间的数据镜像。Kafka中支持建立多份Topic数据副本可靠数据传输机制。在可靠数据传输模式下可以保证从生产者到消费者之间数据不会丢失。在高效传输模式下允许数据有一定量的丢失,丢失率在万分之一以下。Kafka将数据缓存在本地磁盘中,通过文件数据队列的相应机制支持数据断点续传。Kafka支持在线服务平滑扩展,并且吞吐能力与集群规模线性正相关,Kafka总线消息队列集群支持数百节点的规模,理论上集群规模并无上限。Kafka支持通过Guardian对用户进行权限管理,用户经过相应的授权后才可以访问相关数据主题。

文章引用的资料均通过互联网等公开渠道合法获取,仅作为行业交流和学习使用,并无任何商业目的。其版权归原资料作者或出版社所有,本文作者不对所涉及的版权问题承担任何法律责任。若版权方、出版社认为本文章侵权,请立即通知作者删除。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多