本资料来源公开网络,仅供个人学习,请勿商用,如有侵权请联系删除。
部分资料内容:
3.1.4沙盒管理
利用Docker, 基于kubernetes主打的容器技术与微服务应用基础平台,HDFS和YARN均可依此建模,为上层应用提供微服务引擎架构支持。
使用资源隔离,基于linux提供的LXC技术,EDH提供静态的资源隔离,并使用CGroups对隔离后的资源进行管理。部署服务弹性伸缩和自修复触发器,充分利用计算资源。创建分析引擎及计算引擎镜像,部署到docker中。
基于devicemapper动态扩容、缩容,将中心湖的数据进行分片,然后同步导入到沙盒中的HDFS或KUDU中。
3.1.5多租户管理
数据湖环境下的多租户CDH平台需要具备多租户资源管理能力,支持PB级的数据处理和应用分析、秒级的实时处理和场景营销、高并发的数据查询、对外的服务支持等。多租户Hadoop平台框架如左图所示,可以满足统一数据存放,提高数据湖数据共享率,优化资源调度策略,提升数据湖资源利用率,支撑PB级大数据处理,建立数据湖评测标准等效果。
目前版本的多租户CDH平台已满足大部分功能需求,包括满足统一数据存放、优化资源调度策略,提升数据湖资源利用率,主要包含以下几个模块: 多租户管理、资源管理、机构管理、权限管理,应用及数据的统一监控、安全管理。
分为以下几个模块: 我的工作台包含用户(租户)自身的资源查看和申请、提交的任务运行情况(历史任务/正在运行的任务)、所拥有的数据列表、密钥申请及查看;机构管理包含用户层级管理(主要针对多部门多用户的分级管理);用户管理包含用户的个人管理、用户所关联的平台角色管理、用户申请的密钥审批管理、用户/租户针对CDH平台组件的权限管理(YARN/Impala/Hive/HDFS/HBase等)
3.2报表平台整体方案
3.2.1系统设计原则
系统设计方案总体遵循技术规格书的总体目标和指导思想,以优化整合基础数据为前提,以构建贯通主体业务为目标建立基于信息共享数据湖的BI应用系统架构;应用系统架构的规划要将先进性和实用性有机结合,结合的关键点在于从的实际需求出发,在明确的有限目标前提下,以实用性为优先。系统设计体现统一性、先进性、实用性、可靠性、安全性、可扩展性。
l 统一性
信息资源统一规划、统一管理,包含是统一的建设标准。包括统一的数据标准、统一的规划标准、统一的接口标准、统一的管理标准。
l 先进性
技术设计及业务应用方面体现行业应用的领先性和前瞻性。
l 实用性
管理模式和系统功能要针对的实际情况设定,体现基础扎实、效率优先、平稳过渡、降低风险、投资见效快的要求,并结合使用人员特点、业务实际操作特点和管理基础使系统易学易用、方便推广。
l 可靠性
系统采用大型关系型数据库,有严格的安全控制和数据备份机制,确保数据安全可靠。
l 安全性
在网络配置上,外部只可访问经过许可的Web服务器,保证内部业务分析应用模型的数据不被非法用户所获取。在应用软件的设计上,强化权限管理功能,具有多级安全机制。通过对各级工作人员的权限设置,做到所有人员只能查看与其权限相应的数据,并建立完善的日志管理,做到所有操作都有据可查。
l 可扩展性
可扩展性从以下两个方面提出要求:一是业务应用功能的可扩展性,通过建立集中与分层管理的统一模式,使同类业务能在和二级部门层面推广使用,并以精细化数据管理为基础,为未来系统功能向更高层次的提升奠定应用基础框架;二是系统环境的可扩展性,网络和系统数据湖可根据统一规划的要求,在保证体系完整的前提下,通过逐步扩充来满足应用需求并实现合理投资。
l 易用性
提供了完整的交互性的UI操作界面和管理控制数据湖。其中BI更有别于其他传统BI产品,在分析图表创建、调整等方面更为简便、易用,以一个产品组件即实现了数据结构、数据图表、OLAP、Dashboard等以往需要多个产品实现的开发和应用发布功能,极大地减轻了对系统维护团队的工作压力。
数据存储开发方案
Kafka的Topic中的数据通过定制开发的SparkStreaming程序进行清洗、去重等操作并存入数据湖。数据采用Kudu+HBase的方式存储,HBase存全量数据,Kudu存计算点数据、测点数据。数据仓库的存储,根据业务需求,采用hive+kudu的方式进行开发。报表的数据存储,根据实时性和变化量,采用hive+mysql的方式进行存储,开发相应的关系映射和连接组件。
3.1.3.3 Hbase+ES近实时(NRT)查询开发方案
Hbase适用于大表的存储,通过单一的RowKey查询虽然能快速查询,但是对于复杂查询,尤其分页、查询总数等,实现方案浪费计算资源,所以可以针对hbase数据创建二级索引(Hbase Secondary Indexing),供复杂查询使用。而ES作为一个高性能,采用Java5开发,基于Lucene(同时对其进行了扩展)的全文搜索服务器,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。
Key-Value Store Indexer是Hbase到ES生成索引的中间工具。在CDH5中的Key-Value Store Indexer使用的是Lily HBase NRT Indexer服务。
Lily HBase Indexer是一款灵活的、可扩展的、高容错的、事务性的,并且近实时的处理HBase列索引数据的分布式服务软件。Lily HBase Indexer使用ESCloud来存储HBase的索引数据,当HBase执行写入、更新或删除操作时,Indexer通过HBase的replication功能来把这些操作抽象成一系列的Event事件,并用来保证写入ES中的HBase索引数据的一致性。并且Indexer支持用户自定义的抽取,转换规则来索引HBase列数据。ES搜索结果会包含用户自定义的columnfamily:qualifier字段结果,这样应用程序就可以直接访问HBase的列数据。而且Indexer索引和搜索不会影响HBase运行的稳定性和HBase数据写入的吞吐量,因为索引和搜索过程是完全分开并且异步的。
hbase负责海量数据存储;ES负责构建索引和提供对外查询;Indexer负责提供hbase到ES的索引构建。
数据使用流程图
3.1.3.4 数据接口的开发
数据湖通过标准接口的方式为外部系统提供数据服务,根据不同业务系统的需要进行定制化的接口开发。根据业务的不同数据封装分成两种方式,一种是对批量的数据进行封装,将封装后的数据发布到共享区上,供数据应用和外围系统获取,这种方式主要针对访问方需要海量数据的情况;另一种方式是将数据封装成Web Service或者其他专用Socket协议的格式供访问方获取单条数据,这种方式主要针对对客户视图等的访问情况。
1) API
应保持与开源Hadoop及相当架构系统各服务组件的API不变,具体包括并不限于接口功能、接口类型(Java、Python、Rest等)、接口名称、输入参数、返回结构。所支持的接口包括并不限于:
a. 支持访问分布式文件系统的文件操作接口;
b. 支持与外部数据源关系数据库的交互;
c. 通过提交MR任务分析和查询数据;
d. 支持Thrift、Rest接口;
e. 以直接提交查询语句方式访问数据;
f. 提供用户访问Hive的方法,支持用户使用Java和Thrift方式访问Hive。
篇幅有限,无法完全展示,喜欢资料可转发+评论,私信了解更多信息。