hadoop 批流处理的实现_干货!实时大数据平台的设计与实现分享
为了助力企业实现数字化转型升级,亿信华辰提供了一系列完善的产品线和成熟的整体解决方案。实时大数据平台PetaBase-s作为亿信华辰的一款数据存储产品,能帮助企业在这股大数据的数字化漩涡中激流勇进、加速前行。
PetaBase-s是基于开源Hadoop 2.x 平台基础上开发的,具有软件著作权的国产分布式实时大数据平台。PetaBase-s实时大数据平台被设计为全新的大数据实时分析解决方案,可以为金融、政务、零售、运输等行业客户的超大规模数据管理提供数据实时采集、计算和存储的统一平台,用于支撑实时或非实时的数据仓库系统、敏捷BI系统、大数据治理系统,为用户提供一套灵活易用大数据处理解决方案。
一、架构设计方案

PetaBase-s实时大数据平台包含4层:
第一层是采集层,负责从外部数据源中摄取各类数据,包括:结构化和半结构化数据,数据的接入方式既支持通过sqoop等ETL工具跑批也支持通过Flume实时采集。
第二层是数据存储层,负责整个平台的非结构化/半结构化/结构化数据存储。其中,hdfs负责存储归档的海量历史数据,借助数仓模型进行组织,形成面向主题的、集成的、稳定的且随时间不断变化的结构化数据集合。为其上计算层提供数据支持。半结构化/非结构化数据存储于HBase中,HBase是一种非关系型的分布式列存数据库,支持海量的PB级的大数据存储,适用于高吞吐的随机读写的场景。PetaBase-s使用了一种嵌套的列式存储和高效压缩技术,显著降低了存储空间的要求。近实时数据统一存储在kudu中,以兼顾随机查询和实时更新的混合需求。
第三层是计算层,融合了MapReduce、spark、impala等分布式计算框架,提供实时和离线混合计算模型。
第四层是服务层,包括:数据存储、数据ETL、数据检索、实时计算、流数据采集等,为应用层提供计算访问接口和服务。
PetaBase-s整套软件是构建在Hadoop软件栈之上的,具体包括:
· Apache Hadoop,提供分布式文件存储系统(即HDFS),PetaBase-s的数据文件存储在HDFS中。支持CSV、RCF、Parquet、Avro、Sequence File等多种数据文件格式;
· Apache Zookeeper,提供高可用的集群资源管理、调度;
· Apache Hive,原本是数据仓库管理查询工具,在PetaBase-s中,Hive提供元数据存储、管理等功能;
· Impala,分布式、高性能、支持SQL的大数据并行查询引擎。主要由数据库目录服务、集群状态服务、查询计划引擎、分布式执行引擎四大服务组件组成。
· MapReduce,用于大规模数据的并行运算框架,具有易于编程、良好的扩展性和高容错性等优点,适合PB级以上海量数据的离线处理。
· Spark,为大规模数据处理而设计的快速通用的、基于内存的、分布式的计算引擎,包含机器学习(MLib)功能的程序库、Spark Streaming流式计算引擎、Graphx图处理框架,PetaBase-s使用Spark 提供的Spark Streaming 对实时数据进行流式计算。
· HBase,是一个分布式的、面向列的NoSQL数据库,主要应用于高并发、海量数据的快速写入和查询场景。
· Kudu,一个全新的存储系统,定位于提供在更新更及时的数据上做更快的分析。弥补hdfs存在不支持单条记录级别的update操作,随机读写性能差的不足。
二、实时大数据平台六大特性
PetaBase-s实时大数据平台基于开源Hadoop框架开发,融合MPP、SQL on Hadoop、流处理等大数据技术,支持海量数据的高效储存和统一管理,具有如下特点:
l 支持批流融合的混合计算场景
集成MapReduce、Spark、impala等多种计算框架,利用YARN资源管理做统一管理,可在海量数据集上同时进行离线计算和流式处理。满足高吞吐、大数据量和低时延实时处理等多方面的数据计算要求。
l 企业级高可靠与高可用
可靠保障:HDFS、HBase、YARN、Kafka等全组件支持HA,确保生产业务的连续性。
认证安全:基于用户和角色的认证体系,支持kerberos安全协议。
访问控制:支持基于角色、对象(库、表、列、行)的细粒度访问权限控制,保障用户数据安全。
l 丰富的数据访问接口
PetaBase-s提供多种应用程序接口,包括JDBC、ODBC、CLI、Thrift等。PetaBase-s除了兼容SQL-99标准,还支持大部分SQL-2003标准。PetaBase-s的SQL语法基本同Hive SQL兼容,语法上同其它数据库SQL语法大体一致,其它数据库的从业人员可以平滑的过渡到PetaBase-s上进行数据分析工作。
l 灵活的数据采集方式
PetaBase-s提供了一个产品化的实时流数据集成加工套件。这个工具提供丰富的通信协议接口 ,最大化地简化采集作业,对实时流数据的数据集成和数据加工处理可快速实施,无需写代码,通过可视化配置执行流处理作业。PetaBase-s还提供了JDBC/ODBC接口,能支持几乎所有的通用ETL工具产品。
l 统一的可视化运维工具

PetaBase-s提供基于Web的控制台界面,以监控仪表盘形式,对PetaBase-s数据库信息、集群CPU、内存、磁盘空间、数据库会话以及节点状态进行实时监控。

PetaBase-s Web控制台提供Hadoop集群及PetaBase-s集群节点管理功能,可以集中的对数据库集群进行整体控制,资源监控,也可以对单个节点进行管理,了解各节点资源使用情况,进行会话管理等

PetaBase-s Web控制台提供类PL/SQL Developer IDE的数据库管理功能,可以在Web界面上完成在命令行界面进行的大部分操作,还提供一些额外的高级特性,包括建库、建表、SQL查询编辑器、执行计划、导入、导出、数据复制等。
l 高度集成的工程化产品

PetaBase-s具有更高的软件集成度,集成了Hadoop生态系统的多种基础软件,无需额外安装。这些集成化的组件和功能,从整体上节省软件开销,降低使用和运维门槛,方便、有效的保证大数据库系统的落地部署,工程化实施。