XXX大数据平台总体技术要求.docx
《XXX大数据平台总体技术要求.docx》由会员分享,可在线阅读,更多相关《XXX大数据平台总体技术要求.docx(158页珍藏版)》请在冰豆网上搜索。
XXX大数据平台总体技术要求
XXX大数据平台总体技术要求
目录
1产品架构7
1.1基础构建平台8
1.2大数据平台组件功能介绍8
1.2.1TranswarpHadoop分布式文件系统8
1.2.2TranswarpInceptor内存分析交互引擎9
1.2.3稳定的Spark计算框架10
1.2.4支持Memory+SSD的混合存储架构10
1.2.5完整SQL功能支持10
1.2.6TranswarpDiscover机器学习引擎13
1.2.7并行化统计算法库14
1.2.8机器学习并行算法库14
1.2.9TranswarpHyperbase列式存储数据库17
1.2.10智能索引20
1.2.11全局索引21
1.2.12全文索引21
1.2.13索引类型22
1.2.14图数据库22
1.2.15全文数据处理23
1.2.16TranswarpStream数据实时处理分析24
1.2.17分布式消息队列25
1.2.18流式计算引擎25
1.2.19流式SQL执行25
1.2.20流式机器学习25
1.3系统分布式架构26
2运行环境支持27
2.1系统操作支持以及环境配置27
2.2与第三方软件平台的兼容说明27
3客户端支持28
3.1客户端支持28
3.2移动端支持28
4数据支持29
5集成实现30
6运维实现31
6.1运维目标31
6.2运维服务内容31
6.3运维服务流程32
6.4运维服务制度规范33
6.5应急服务响应措施33
6.6平台监控兼容34
6.7资源管理34
6.8系统升级35
6.9系统监控平台功能35
6.9.1性能监控35
6.9.2一键式收集38
6.9.3系统资源监控图形化39
6.9.4服务进程监控40
6.9.5消息队列监控41
6.9.6故障报警41
6.9.7告警以及统巡检以及信息收集42
7平台性能43
7.1集群切换43
7.1.1主集群异常及上层业务切换43
7.1.2从集群异常及上层业务切换43
7.2节点切换43
7.3性能调优44
7.3.1图形化性能监控44
7.3.2图形化调优工具44
7.3.3调优策略47
7.4并行化高性能计算48
7.5计算性能线性扩展49
8平台扩展性51
9可靠性和可用性52
9.1单点故障消除52
9.2容灾备份优化52
9.2.1扩容、备份、恢复机制52
9.2.2集群数据容灾优化53
9.2.3数据完整性保障和方案53
9.2.4主集群异常及上层业务切换53
9.2.5从集群异常及上层业务切换54
9.3系统容错性54
10开放性和兼容性56
10.1高度支持开源57
10.1.1PMC-HaoyuanLi57
10.1.2Committor-AndrewXia59
10.1.3Committor-ShaneHuang61
10.1.4Committor-ZhihongYu63
10.1.5Committor-JasonDai65
10.1.6Committor-WeiXue67
10.2操作系统支持以及软件环境配置69
10.3兼容性与集成能力70
11安全性71
11.1身份鉴别71
11.2访问控制71
11.3安全通讯73
12核心产品优势74
12.1高速运算、统计分析和精确查询74
12.1.1Spark引擎结合分布式内存列存提供高性能计算74
12.1.2多种索引支持与智能索引74
12.2有效的资源利用74
12.3高并发、低延迟性能优化75
12.4计算资源有效管控75
12.5API设计和开发工具支持75
12.6友好的运维监控界面76
12.7扩容、备份、恢复机制80
12.8集群自动负载均衡80
12.9计算能力扩展80
13自主研发技术优势81
13.1高稳定、高效的计算引擎Inceptor81
13.2完整的SQL编译引擎81
13.3高性能的SQL分析引擎81
13.4SQL统计分析能力81
13.5完整的CURD功能82
13.6Hyperbase高效的检索能力82
13.7基于Hyperbase和SQL引擎的高并发分布式事务83
13.8Hyperbase非结构化数据的支持83
13.9机器学习与数据挖掘84
13.10TranswarpStream85
13.11内存/SSD/磁盘混合存储86
13.12MR/Spark/流处理统一平台86
13.13多租户支持能力87
13.14多租户安全功能87
13.15标准JDBC与ODBC接口87
14性能测试要求88
14.1环境搭建88
14.1.1测试硬件环境88
14.1.2软件环境88
14.2测试范围88
14.2.1测试功能点88
14.2.2测试类型88
14.2.3性能需求88
14.2.4准备工作89
14.2.5测试流程89
14.3测试策略89
14.3.1基准测试89
14.3.2负载测试92
14.3.3稳定性测试93
14.4测试交付项94
14.5测试执行准则94
14.5.1测试启动94
14.5.2测试执行94
14.5.3测试完成94
14.6角色和职责94
14.7时间及任务安排95
14.8风险和应急95
14.8.1影响方案的潜在风险95
14.8.2应急措施95
1产品架构
图8-1TDH产品架构
TDH架构采用的是单一纯Hadoop式的数据平台架构,在结构上分为实时处理以及海量数据存储分析集群。
大数据统一平台既可以处理结构化的数据,实现数据整合平台、历史数据平台的处理,也可以处理非结构化、半结构化的数据,实现大数据平台、外部数据采集平台的支撑,同时,基于平台提供的实时流处理能力,可以满足准实时数据服务平台的需求。
配合平台内工具组件和应用开发,数据服务总线、统一调度系统、数据管控平台的功能需求。
数据接入层
系统接入数据方式多样化,包括关系型数据库数据、实时数据、文件数据、图片数据等。
面对于多种数据接入的需求,数据平台提供多种针对性的接入方式以及工具,通过分布式消息队列Kafka接入实时数据;通过Sqoop、DataStage等ETL工具全量或定时增量抽取同步关系型数据库,也可采用文本文件方式批量导入;自带HUE作为数据抽取管理工具,提供图形化的界面定义数据抽取规则,并可与其他工具相结合,完成数据抽取的工作流;同时,分布式文件系统HDFS通过FTPOverHDFS提供文件通过FTP传入HDFS的通道;通过Flume提供海量日志文件的聚汇到HDFS的功能。
数据存储层
在数据存储层中,底层为统一分布式存储HDFS,HDFS采用三份副本策略保证数据的安全性以及可靠性。
然而,随着时间的推移,很少被使用到的归档历史数据会越来越多,占用大量的HDFS存储空间,HDFS通过ErasureCode技术将历史冷数据在保证数据安全可靠的基础上降低其存储开销。
在HDFS之上提供分布式NoSQL(NotOnlySQL)实时数据库Hyperbase为高并发检索分析以及事务支持提供平台级支撑。
Hyperbase通过多种索引支持海量数据多维度的秒级检索查询,包括全局索引,全文索引,组合索引等,另外Hyperbase与Titan相结合支持图数据库。
在平台存储层,支持各类结构化、半结构化、非结构化海量数据的低成本存储,为超长时间的海量历史数据存储和使用提供基础支撑。
并通过Hyperbase对于海量数据高并发低延时的检索能力,很好的支持移动互联业务场景的数据访问需求。
数据计算层
在数据存储层之上的数据计算层通过YARN提供统一的资源管理调度,可以动态创建和销毁集群,灵活部署业务。
采用Inceptor内存计算分析能力为贵州银行的各个应用提供高效的分析挖掘能力。
在Inceptor中,通过独立的分布式内存列式存储Holodesk,解决开源Spark的稳定性问题以及进一步提供交互式分析能力,同时为了降低平台建设成本与提高平台内存分析数据量,分布式内存存储可建在内存或者固态硬盘SSD上。
利用Spark高速内存迭代计算的优势,通过内置的基于Spark计算框架的基础并行统计算法库以及机器学习算法库,为大数据平台提供高效的数据挖掘能力。
同时,保留传统的MapReduce计算框架,完整大数据平台对于各个计算框架的支持。
此外,实时流数据通过SparkStreaming支持实时数据的低延时高吞吐的处理。
通过消息队列Kafka消费实时数据流,做到数据不丢不重,基于SparkStreaming提供类似于批处理系统的计算能力、健壮性、扩展性的同时,将数据时延降低至秒级,适用于各种实时数据的复杂处理业务场景。
数据分析层
在数据分析层,通过Inceptor对存储在HDFS、Hyperbase以及分布内存缓存Holodesk上的数据进行统计检索分析,并为数据服务层提供JDBC/ODBC接口,同时为了降低数据平台学习与使用成本,方便传统业务迁移,Inceptor兼容支持SQL2003标准以及PL/SQL。
对于数据挖掘,在分析层,提供可视化的挖掘建模设计工具RStudio,使用R语言进行交互式数据挖掘与统计分析,挖掘数据深度规律并建立数据模型。
同时支持Mahout,利用Mahout中丰富的并行化机器学习算法对海量数据进行分析挖掘。
数据应用层
在数据服务层,通过数据存储层、计算层以及分析层提供的接口,封装后提供多种数据服务能力,包括海量数据高并发检索查询,即席查询,海量数据交互式统计分析,数据可视化,实时数据比对异常检测告警,实时数据基于滑动时间窗口统计分析,海量数据统计挖掘以及数据平台中数据交换等。
通过大数据平台对外提供的各种服务,在其之上实现贵州银行各类应用,包括管理驾驶舱、统一报表平台、数据分析、实时数据处理等。
数据管理与系统安全
此外,大数据平台通过安全通信协议和角色权限管理功能,在软件层面提供通信安全和数据访问安全的双重保障,有效的对各个部门以及下级单位的数据访问进行控制和安全管理,实现数据平台4A级(认证Authentication、账号Account、授权Authorization、审计Audit)统一安全管理解决方案。
通过LDAP管理用户账号,使用Kerberos进行用户身份认证,同时大数据平台实现基于角色的访问权限控制(RoleBasedAccessControl),最后所有的安全访问审计内容都会记录在数据平台的日志中。
大数据平台中,从数据的接入,如分布式消息队列Kafka的Topic权限控制,到平台中的各个组件都支持安全管理,包括HDFS,YARN,Hyperbase,Inceptor等组件。
同时为了重要数据的安全考虑,HDFS提供加密存储。
最后,数据平台提供易用的管理运维工具,降低数据平台运维成本,包括集群的安装,参数的配置,节点的增删,服务的监控,资源指标的监控以及异常的记录与告警。
1.1基础构建平台
图8-2核心技术产品架构图
TranswarpDataHub大数据基础平台,底层为TranswarpHadoop统一分布式存储,其上包含了分布式流处理TranswarpStream,交互内存分析SQL引擎TranswarpInceptor,分布式实时在线数据库TranswarpHyperbase,分布式机器学习引擎TranswarpDiscover,以及基于TranswarpYARN的多租户分布式计算集群Inceptor。
以上组件由TranswarpManager进行统一管理和监控。
内部组件通过Stargate进行通信,同时各个组件也对外开放接口。
ØInceptor:
ODBC/JDBC、Stargate
ØHyperbase:
Hyperbasedriver、Stargate、JavaAPI、ScalaAPI
ØStream:
Stargate、专用API
ØDiscover:
专用API、Stargate
1.2大数据平台组件功能介绍
1.2.1TranswarpHadoop分布式文件系统
本平台采用基于HDFS的大数据存储系统,同时支持ErasureCode以及HDFS文件加密存储。
Hadoop分布式文件系统(HDFS)是运行在通用硬件上的分布式文件系统。
HDFS提供了一个高度容错和高吞吐量的海量数据存储解决方案。
HDFS已经在各种大型在线服务和大型存储系统中得到广泛应用,已经成为海量数据存储的事实标准。
HDFS通过一个高效的分布式算法,将数据的访问和存储分布在大量服务器之中,在可靠的多备份存储的同时还能将访问分布在集群中的各个服务器之上,是传统存储构架的一个颠覆性的发展。
NameNode管理元数据,包括文件目录树,文件->块映射,块->数据服务器映射表等;DataNode负责存储数据、以及响应数据读写请求;客户端与NameNode交互进行文件创建/删除/寻址等操作,之后直接与DataNode交互进行文件I/O。
采用NameNodeHA方案保证HDFS的高可靠性,始终有一个NameNode做热备,防止单点故障问题。
采用QJM的方式实现HA,文件系统元数据存储在由JournalNode组成的高可靠集群上。
同时当数据量太大导致单个NameNode达到处理瓶颈时,提供HDFSFederation功能,不同的NameService(由NameNode组成)处理挂载在HDFS上不同目录下的文件。
HDFS的每个数据块分布在不同机架的一组服务器之上,在用户访问时,HDFS将会计算使用网络最近的和访问量最小的服务器给用户提供访问。
由于数据块的每个复制拷贝都能提供给用户访问,而不是仅从数据源读取,HDFS对于单数据块的访问性能将是传统存储方案的数倍。
对于一个较大的文件,HDFS将文件的不同部分存放于不同服务器之上。
在访问大型文件时,系统可以并行从服务器阵列中的多个服务器并行读入,增加了大文件读入的访问带宽。
通过以上实现,HDFS通过分布式存储的算法,将数据访问均摊到服务器阵列中的每个服务器的多个数据拷贝之上,单个硬盘或服务器的吞吐量限制都可以数倍甚至数百倍的突破,提供了极高的数据吞吐量。
HDFS将文件的数据块元数据信息存放在NameNode服务器之上,文件数据块分散的存放在DataNode服务器上。
当整个系统容量需要扩充时,只需要增加DataNode的数量,系统会自动实时将新的服务器匹配进整体阵列之中。
之后,文件的分布算法会将数据块搬迁到新的DataNode之中,不需任何系统停机维护或人工干预。
通过以上实现,HDFS可以做到在不停止服务的情况下实时加入新的服务器作为分布式文件系统的容量升级,不需要人工干预文件的重新分布。
HDFS文件系统假设系统故障(服务器、网络、存储故障等)是常态,而不是异常。
因此通过多方面保证数据的可靠性。
数据在写入时被复制多份,并且可以通过用户自定义的复制策略分布到物理位置不同的服务器上;数据在读写时将自动进行数据的校验,一旦发现数据校验错误将重新进行复制。
1.2.2TranswarpInceptor内存分析交互引擎
TranswarpInceptor是基于Spark的分析引擎,从下往上有三层架构,最下面是一个分布式内存列式存储(TranswarpHolodesk),可建在内存或者SSD上,中间层是Spark计算引擎层,最上层包括一个完整的SQL99和PL/SQL编译器、统计算法库和机器学习算法库,提供完整的R语言访问接口。
Spark是Map/Reduce计算模式的一个全新实现。
Spark的创新之一是提出RDD(ResilientDistributedDataset)的概念,所有的统计分析任务是由对RDD的若干基本操作组成。
RDD可以被驻留在内存中,后续的任务可以直接读取内存中的数据,因此速度可以得到很大提升。
Spark的创新之二是把一系列的分析任务编译成一个由RDD组成的有向无环图,根据数据之间的依赖性把相邻的任务合并,从而减少了大量的中间结果输出,极大减少了磁盘I/O,使得复杂数据分析任务更高效。
从这个意义上来说,如果任务够复杂,迭代次数够多,Spark比Map/Reduce快100倍或1000倍都很容易。
基于这两点创新,可在Spark基础上进行批处理、交互式分析、迭代式机器学习、流处理,因此Spark可以成为一个用途广泛的计算引擎,并在未来取代Map/Reduce的地位。
Inceptor可以分析存储在HDFS,HBase或者Holodesk分布式缓存中的数据,可以处理的数据量从GB到数十TB,即使数据源或者中间结果的大小远大于内存,也可高效处理。
另外也通过改进Spark和YARN的组合,提高了Spark的可管理性。
这些使得Inceptor成为目前真正适合企业生产环境7x24小时部署的Spark衍生产品。
同时星环不仅仅是将Spark作为一个缺省计算引擎,也重写了SQL编译器,提供更加完整的SQL支持。
图8-3Inceptor模块架构
同时,星环通过改进Spark使之更好的与HBase融合。
星环基于HBase的产品叫做Hyperbase,通过结合Inceptor,可以为HBase提供完整的SQL支持,包括批量SQL统计、OLAP分析以及高并发低延时的SQL查询能力,使得HBase的应用可以从简单的在线查询应用扩展到复杂分析和在线应用结合的混合应用中,大大拓展了HBase的应用范围。
这两个产品的组合使得星环在市场上处于领先地位。
1.2.3稳定的Spark计算框架
面对企业级需求,企业目前应用开源Spark的主要困难在稳定性、可管理性和功能不够丰富上。
开源Spark在稳定性上还有比较多的问题,在处理大数据量时可能无法运行结束或出现Outofmemory,性能时快时慢,有时比Map/Reduce更慢,支持的SQL语法仍然非常有限,无法应用到复杂数据分析业务中。
然而从星环的TranswarpInceptor中,上述问题都已经解决并经过实践上限案例的考验,并且Inceptor对Spark进行了大量的改进,极大提高了Spark功能和性能的稳定性。
TranswarpInceptor能稳定的运行7*24小时,并能在TB级规模数据上高效进行各种稳定的统计分析。
1.2.4支持Memory+SSD的混合存储架构
跨内存/闪存等介质的分布式混合列式存储,可用于缓存数据供Spark高速访问。
小内存+SSD+磁盘的新方案可以提供跟大内存+磁盘的传统方案性能接近的交互式SQL分析能力。
由于内存的价格是SSD的10倍,因此可以采用SSD来替代内存作为缓存,一方面可以增大分布式内存数据库Holodesk存储容量,另一方面可以降低成本,同时性能没有明显损失。
1.2.5完整SQL功能支持
内置ORACLE函数支持列表
表8-1Conversionfunctions函数支持
Oracle
星环TDH平台
ASCIISTR
支持
BIN_TO_NUM
支持
CAST
支持
CHARTOROWID
支持
COMPOSE
支持
CONVERT
支持
DECOMPOSE
支持
HEXTORAW
支持
NUMTODSINTERVAL
支持
NUMTOYMINTERVAL
支持
RAWTOHEX
支持
RAWTONHEX
支持
ROWIDTOCHAR
支持
ROWIDTONCHAR
支持
TO_CHAR(character)
支持
TO_CHAR(datetime)
支持
TO_CHAR(number)
支持
TO_CLOB
支持
TO_DATE
支持
TO_DSINTERVAL
支持
TO_LOB
支持
TO_MULTI_BYTE
支持
TO_NCHAR(character)
支持
TO_NCHAR(datetime)
支持
TO_NCHAR(number)
支持
TO_NCLOB
支持
TO_NUMBER
支持
TO_SINGLE_BYTE
支持
TO_YMINTERVAL
支持
TRANSLATE...USING
支持
UNISTR
支持
表8-2Miscellaneousfunctions函数支持
Oracle
星环TDH平台
BFILENAME
支持
COALESCE
支持
DECODE
支持
DEPTH
支持
DUMP
支持
EMPTY_BLOB,EMPTY_CLOB
支持
EXISTSNODE
支持
EXTRACT(XML)
支持
EXTRACTVALUE
支持
GREATEST
支持
LEAST
支持
NLS_CHARSET_DECL_LEN
支持
NLS_CHARSET_ID
支持
NLS_CHARSET_NAME
支持
NULLIF
支持
NVL
支持
NVL2
支持
PATH
支持
SYS_CONNECT_BY_PATH
支持
SYS_CONTEXT
支持
SYS_DBURIGEN
支持
SYS_EXTRACT_UTC
支持
SYS_GUID
支持
SYS_TYPEID
支持
SYS_XMLAGG
支持
SYS_XMLGEN
支持
UID
支持
UPDATEXML
支持
USER
支持
USERENV
支持
VSIZE
支持
XMLAGG
支持
XMLCOLATTVAL
支持
XMLCONCAT
支持
XMLFOREST
支持
XMLSEQUENCE
支持
XMLTRANSFORM
支持
表8-3AgregateFunctions函数支持
Oracle
星环TDH平台
AVG
支持
CORR
支持
COUNT
支持
COVAR_POP
支持
COVAR_SAMP
支持
CUME_DIST
支持
DENSE_RANK
支持
FIRST
支持
GROUP_ID
支持
GROUPING
支持
GROUPING_ID
支持
LAST
支持
MAX
支持
MIN
支持
PERCENTILE_CONT
支持
PERCENTILE_DISC
支持
PERCENT_RANK
支持
RANK
支持
REGR_(LinearRegression)Functions
支持
STDDEV
支持
STDDEV_POP
支持
STDDEV_SAMP
支持
SUM
支持
VAR_POP
支持
VAR_SAMP
支持
VARIANCE
支持
表8-4ObjectReferenceFunction函数支持
Oracle
星环TDH平台
DEREF
支持
MAKE_REF
支持
REF
支持
REFTOHEX
支持
VALUE
支持
支持超大数据立方。
支持雪花、星型等复杂分析