建设大数据治理子平台,提供数据标准管理、元数据管理、数据质量管理能力,实现对数据的规范治理与管理;提供数据工厂能力,实现对归集的数据进行清洗、加工,支撑业务的数据应用需求。具体,在本次杨浦大数据资源平台建设项目中,数据治理子平台的建设内容包括:
Ø 资源目录管理:提供资源目录管理功能,包括:资源编目、目录提交、目录审核、目录发布、目录汇总、目录查询等;
Ø 数据标准管理:提供数据标准管理功能,包括:字典标准管理、命名标准管理、维度标准管理及数据项标准管理;
Ø 元数据管理:提供元数据管理功能,包括:元数据正向采集、元数据维护、元数据查询、元数据导入/导出、元数据血缘分析;
Ø 数据质量管理:提供数据质量管理功能,包括:质量模型配置、质量规则管理、方案配置调度、质检结果查看、质检分析报告;
Ø 数据开发平台:提供数据开发平台能力,支持可视化开发和原生态开发两种开发模式,实现原生态开发与可视化编排的互相转换;
Ø 统一调度管理:提供统一调度管理功能,提供流程设计与管理、调度策略管控、任务调度控制、等功能模块。
在本次项目中,我们需要制定全区公共数据汇聚的标准规范和管理制度,归集全区各单位的政府公共数据,形成XX市的数据资源湖。同时经过对数据进行清洗、转换、融合、治理后,形成高质量的公共数据资源,构建形成杨浦标准化数据仓库。
基于全区的数据资源湖,利用经过治理后的数据,可以针对某一特领域的业务数据共享、应用需求,按主题归集形成专题库和主题库,并面向政务部门及社会进行数据开放。此外,我们还将持续开展、深入杨浦大数据的应用探索,围绕跨部门、跨领域、跨行业的数据应用需求,对数据实体进行数据关联、数据融合和衍生计算,生成算法标签,逐步建立不同领域的应用专题或主题库构建面向全区多部门提供统筹的数据共建共享共用的数据服务。具体,在本次杨浦大数据资源平台建设项目中,数据资源门户的建设内容包括:
Ø 建立XX市级数据湖:构建全区公共数据的存储与计算空间,支撑各类数据资源的汇聚存储、处理计算与查询应用,并依据部门类别、数据源类别等提供资源隔离的多租户数据应用空间;
Ø 完成数据对接的实施:完成与区各委办业务与管理系统、XX大数据资源平台以及物联网相关平台数据的对接,汇聚各类业务数据,形成全区公共数据资源池;
Ø 建设基础库:建设全区统一的基础人口综合库、法人综合库、电子证照库以及地理空间库,支撑全区人口、法人、电子证照与地理空间等数据相关应用;
Ø 建设主题库:建设全区统一的产业经济主题库、电子证照主题库、权力事项主题库等,支撑全区产业经济相关数据应用。
Ø 主题库
围绕跨部门、跨领域、跨行业等的通用应用服务,对数据实体进行数据关联、数据融合和衍生计算,生成算法标签,提供超级应用级数据服务。主题库的建设是为了满足某一特大型领域的业务共建共享需求,需要多个部门合作,在大数据主管部门的支撑下,构建面向全区多部门提供统筹的数据共建共享共用的数据服务。
为了解决目前全区面向企业法人提供服务缺失基础数据的情况,本次项目拟建设XX市企业精准服务主题库。
Ø 专题库
面向特定领域专题应用的数据服务。一般由各自委办局自行开发建设,也可以根据实际情况由委办局委托大数据中心代建代运营。作为领域的专题数据,一般不作为支撑大型跨领域、跨行业的超级综合应用并向外部门提供数据服务,更多的是满足部门自身需求。
为减少不同委办大数据服务中共性模块的重复建设,实现对外服务的规范、安全管理和成功案例的快速复制,最大程度吸引外部开发能力,建设大数据对外服务基础平台,提供数据交换管理、自助数据探索、个性化推荐、行业标签等共性服务功能,实现大数据对外服务的快速部署。
建设数据共享服务将功能和接口,要求以应用需求为导向,在政务服务、市场监管、城市管理、社会治理等领域探索开展公共数据共享应用,为跨区域协同发展提供数据支撑。
包含数据交换和服务管理,支持结构化库表下发、文件共享、API接口共享、非结构化数据共享、接口代理等多种数据共享方式。
在XX市大数据资源平台项目的基础上扩展功能。主要包括消息推送、数据推送、个人信息管理、系统管理等功能。
建立数据开放门户:主要实现数据目录、数据接口、数据应用、数据图谱、地图数据、互动交流、数据开发者、辅助事项、个人管理等各项门户目录的建设。包含业务流程申请、展示、统计、查询等功能。
包含业务流程申请、展示、统计、查询等功能。
Ø 分析、统计、展示功能
将数据共享情况、数据归集情况进行统计分析后展示。可对填报、统计分析数据设置审批岗,对数据进行双重把关,对统计结果进行推送。KPI指标监控、监控指标预警信息及时推送、数据钻取,实现由粗-细,切换维度的数据分析、可视化图表,易于信息获取。
Ø 查询及业务流程申请功能
当委办向大数据中心提出查询要求,需要通过申请审批完成数据资源分享,同意后,方可对委办开放查询服务,以满足委办对于某项或某类数据的需要。
大数据中心对接委办的管理流程,委办提出需求需要查询某数据项,将在该门户提出申请,如三清单一目录的申请,直接进行登记。
为了实现杨浦大数据资源平台下的高效运行和维护,提供标准化的监控管理指标和数据,对云资源、应用和业务对象的性能数据管理、运行状态监视和告警管理等,及时发现异常和潜在问题,对云管理运行过程中的监控及容量使用情况等运维数据进行深入分析,保障大数据资源平台稳定、高效的运行以及资源安全、合理的分配。构建一站式数据资产可视化管理,实现对数据生产的全过程监控,实现对数据资产的血缘谱系和信息资源目录的统一管理。
大数据资源平台应有完整的安全策略控制体系,通过流量监控、防火墙、内容审计等多种手段实现全方位、多层次的监控、防护,保障平台数据传输的可靠、安全、高效和事件行为的可回溯性。大数据资源平台需充分利用平台各组件内生的安全能力,并通过对标准化解决方案进行定制化开发并与各组件集成实现安全能力的全局赋能,包括统一的身份和权限管理、统一的敏感数据发现、统一的加密和秘钥管理、统一的数据脱敏、统一的用户行为分析和数据安全态势感知 。通过安全能力的建设,满足《网络安全等级保护基本要求》(GB/T 22239-2019)、《数据安全能力成熟度模型》和《政务信息共享数据安全技术要求》(送审稿)等数据安全合规要求。
大数据底座整体技术架构如图所示,其中包括大数据基础平台、集群洞察、集群管控运营、流处理引擎、关联检索引擎几部分。
大数据基础平台(DP),实现统一的资源分配,应用管理及为数据治理提供了标准化的产品和服务。
集群洞察(CI)是大数据集群资源、性能、安全的深度洞察和智能规划,保障大数据集群的合理部署和不断优化,达到充分利用资源的目的。
集群管控运营(CM)以多租户管理核心,面向企业实现大数据集群资源管控,实现大数据平台的租户能力开放管理能力。
流处理引擎(SP)实现统一的实时数据接入、分析处理、分发订阅,全面保障实时的业务场景开发。
关联检索引擎(SP)建立丰富的索引,多样化的查询接口,支持各种结构化业务数据解析,能够为更多的用户,丰富的数据类型,为多样化的业务提供通用的查询能力。
一.1.1.1 大数据基础平台
大数据基础平台使用了开源的Hadoop产品,它是一个能够对大量数据进行分布式处理的软件框架,以可靠、高效、可伸缩的方式进行数据处理,包含hdfs、mapreduce、yarn、hive、spark、hbase等组件。
大数据基础平台提供一套完整的基于分布式文件系统的海量数据采集、存储、计算处理及运维的综合基础平台,采用分布式文件系统、列存储或混合存储、压缩、延迟加载等技术,只需要较为廉价的硬件设备投入即可提供对海量数据的存储能力。
采用分布式调度和资源管理技术,保证分布式并行运算的安全、高效和可靠;通过列存储引擎,提供key /value数据的实时存取,满足实时应用对大数据的读、写能力;采用交互式类SQL语句完成分析查询功能,提供快速、精准的数据多维分析功能,免去程序开发的复杂性,降低开发的难度,满足离线分析型应用对大数据的处理要求。提供丰富的组件包括分布式文件系统HDFS、资源管理与调度YARN、安全组件及能力Ranger、NoSQL数据库Hbase、数据加载处理Sqoop,Flume, Kafka、服务管理与YARN集成Slider、数据仓库Hive等。
用户可以快速的搭建起自身的企业级大数据基础平台,并在其上开展自身的数据分析业务。大数据基础平台作为开放的大数据基础平台产品,为用户提供了强大而丰富的平台能力,如数据存储能力、数据查询能力、数据计算和多维分析能力、索引分析能力、机器学习能力、图计算能力、资源管理调度能力、作业管控能力、平台运维管理能力。
一.1.1.1.1 数据存储
HDFS(Hadoop Distributed File System)是Hadoop的分布式文件系统。HDFS集群主要由NameNode(管理者)和多个DataNode(工作者)组成。NameNode用来管理元数据; DataNode用来存储真实数据。用户可以通过NameNode与文件元数据建立联系或修改文件,并且通过DataNode直接访问实际文件的内容。
支持Federation ,在集群中将会有多个 namenode。这些 namenode 之间是联合的,也就是说,他们之间相互独立且不需要互相协调,各自分工,管理自己的区域。增加多备用NameNode支持。以此增强hadoop hdfs的高可用性,降低单个备用namenode瘫痪带来的集群管理风险。引入了纠删码技术(Erasure Coding),与三副本策略相比,提高50%以上的存储利用率。
一.1.1.1.2 资源管理
在hadoop中每个应用程序被表示成一个作业,每个作业又被分成多个任务。JobTracker是一个后台服务进程,启动之后,会一直监听并接收来自各个TaskTracker发送的心跳信息,包括资源使用情况和任务运行情况等信息。它的主要功能是:作业管理、状态监控和任务调度等。TaskTracker是JobTracker和Task之间的桥梁:一方面,从JobTracker接收并执行各种命令:运行任务、提交任务、杀死任务等;另一方面,将本地节点上各个任务的状态通过心跳周期性汇报给JobTracker。TaskTracker的主要功能是:汇报心跳和执行命令等。
Yarn的主要思想是把jobtracker的任务分为两个基本的功能:一个是资源管理,一个是任务监控,这两个任务分别用不同的进程来运行。在Yarn中,有一个全局的资源管理器(ResourceManager)和每个应用程序的应用程序管理器(ApplicationMaster)。ResourceManager和每个节点(NodeManager)组成了处理数据的框架,ResourceManager是整个系统资源的最终决策者。每个应用程序的ApplicationMaster是框架具体的Lib,它的任务是从ResourceManager出获得资源,并在NodeManager上执行和监控任务。支持开源新版本YARN的优化或新增功能。
一.1.1.1.3 批量处理
Hive是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。
Spark是一个大数据分布式编程框架,它使用函数式编程范式扩展了MapReduce模型以支持更多计算类型——不仅实现了MapReduce的算子map 函数和reduce函数及计算模型,还提供更为丰富的算子,如filter、join、groupByKey等;可以涵盖广泛的工作流。Spark使用内存缓存来提升性能,因此进行交互式分析也足够快速(就如同使用Python解释器,与集群进行交互一样)。缓存同时提升了迭代算法的性能,这使得Spark非常适合数据理论任务,特别是机器学习。
一.1.1.1.4 实时处理
SparkStreaming是Spark核心API的一个扩展,可以实现高吞吐量的,具备容错机制的实时流数据处理。Spark Streaming将接收到的实时流数据,按照一定时间间隔,对数据进行拆分,交给Spark Engine引擎,最终得到一批批的结果。
Apache Storm是一个分布式实时大数据处理系统。Storm设计用于在容错和水平可扩展方法中处理大量数据。它是一个流数据框架,具有最高的摄取率。
Apache Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。Flink设计为在所有常见的集群环境中运行,以内存速度和任何规模执行计算。
Kafka是一个低延迟高吞吐的分布式消息队列,适用于离线和在线消息消费,用于低延迟地收集和发送大量的事件和日志数据 。Kafka通过副本来实现消息的可靠存储,同时消息间通过Ack来确认消息的落地,避免单机故障造成服务中断。同时副本也可以增加扇出带宽,支持更多的下游消费者订阅。
一.1.1.1.5 列式数据库
HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。在Hadoop生态系统中,Hadoop HDFS为HBase提供了高可靠性的底层存储支持,Hadoop MapReduce为HBase提供了高性能的计算能力,Zookeeper为HBase提供了稳定服务和failover机制。此外,Pig和Hive还为HBase提供了高层语言支持,使得在HBase上进行数据统计处理变的非常简单。
一.1.1.1.6 运维管理
基于Apache Ambari开发的大数据集群管控工具可以实现对Hadoop平台组件的一键化部署。通过图线化界面实现大规模Hadoop集群的快速部署,大幅提高系统实施的工作效率,并且实现了集群配置的统一管理与维护。
节点的监控是指监控集群中的每一个节点的状态的监控以及节点之间的通信状态的监控。单个节点的监控包括节点内存队列的大小,进程的活动状态,节点的IO,CPU和内存的情况,需要在页面中查看到。节点之间的监控是指集群中如果发现出现故障的节点,及时的进行主备切换或者剔除集群。
基于Apache Ambari开发的大数据集群管控工具可以实现对Hadoop平台告警。 对于SMTP,运维人员配置监测指标策略以及指标告警阈值,当检测到指标异常达到设定的阈值时,平台会以邮件方式将告警信息通知到管理员,系统会根据设定的警报级别来发送警报通知。
一.1.1.1.7 安全管理
Ranger提供了一个集中的安全框架来管理细粒度的访问控制。使用Ranger的控制台,安全管理员可以对访问文件、文件夹、数据库、表或列,轻松管理策略。这些策略可以为单个用户或用户组进行设置,然后在Hadoop中执行。安全管理员也可以使用Apache Ranger对环境更深层次的控制,进行管理、审核、跟踪和策略分析。
通过LDAP管理用户账号,Kerberos作为用户身份认证Identity Store,同时大数据基础平台配合LDAP实现基于角色的访问权限控制(Role Based Access Control),最后所有的安全访问审计都会记录在数据平台的日志中 。
大数据基础平台支持每个模块对输入的数据进行完整性校验,并支持针对不同的数据的重要性,支持计划不同的存储级别。数据按时间效益有热数据,正常数据,冷数据,归档数据之分。
一.1.1.2 集群洞察
集群性能洞察:利用运维专家在多个生产Hadoop集群环境的性能评判经验, 沉淀出多种性能算法模型, 对集群的多方面关键指标进行计算、判断和展现.
集群负载分析:计算资源、存储资源、负载情况的采集及分析,可以回溯自定义时间段的资源使用情况、指导集群、租户的资源分配、合理有效配置集群资源.
集群安全洞察:通过对权限、数据操作,登录操作的安全审计,寻找安全漏洞并告警
集群运维工具:提供日志中心、运维知识库、和租户分权限的运维视图.为集群管理员、租户管理员提供有效的运维工具。
一.1.1.2.1 集群性能洞察
对集群主机、网络、HDFS、Yarn、ZK、Hive、Hbase、Spark、等Hadoop服务的关键指标进行自动检查 ,并生成集群巡检报告.降低了运维知识门槛,对集群的健康度和性能指标进行快速概览。
通过对HDFS image Metadata的分析,对小文件的数量和占比进行统计. 可以辅助判定集群NameNode的效能, 分析出小文件的归属用户, 通知用户整改数据导入、计算的代码. 采集数据节点日志,将读写速度慢的节点统计出来, 展示这些慢速节点的IP和读写速度。
一.1.1.2.2 集群负载分析
提供可视化的运维界面,展示集群、队列资源的利用率、消耗资源最多TOP10的作业,作业耗时的分布图、作业完成情况,等待情况等;该功能也为整个集群的资源评估提供依据。
一.1.1.2.3 集群安全审计
审计功能可以保证Hadoop中用户数据安全,检测非法入侵和违反安全规则的行为,实现基于策略的实时检测和预警,实现基于用户行为模式的异常数据行为检测。
一.1.1.2.4 集群运维工具
提供日志中心、运维知识库、和租户分权限的运维视图.为集群管理员、租户管理员提供有效的运维工具。
一.1.1.3 集群管控
集群管控平台(CM)在架构上如图2所示,主要分为接入层和功能层两层,其中功能层主要是提供管理、运营及分析能力,接入层主要实现大数据组件的统一接入。