华为大数据解决方案FusionInsight HD概述

举报
敲代码的王小明 发表于 2018/12/20 16:45:53 2018/12/20
【摘要】 华为FusionInsight HD是一个分布式数据处理系统,对外提供大容量的数据存储、分析查询和实时流式数据处理分析能力。安全架构安全、认证安全、文件系统层加密可靠所有管理节点组件均实现HA(High Availability)集群异地灾备数据备份恢复易用统一运维管理易集成易开发系统架构Manager作为运维系统,为FusionInsight HD提供高可靠、安全、容错、易用的集群管理能力...

华为FusionInsight HD是一个分布式数据处理系统,对外提供大容量的数据存储、分析查询和实时流式数据处理分析能力。

webp

  • 安全
    架构安全、认证安全、文件系统层加密

  • 可靠
    所有管理节点组件均实现HA(High Availability)
    集群异地灾备
    数据备份恢复

  • 易用
    统一运维管理
    易集成
    易开发

系统架构

webp

Manager

作为运维系统,为FusionInsight HD提供高可靠、安全、容错、易用的集群管理能力,支持大规模集群的安装部署、监控、告警、用户管理、权限管理、审计、服务管理、健康检查、问题定位、升级和补丁等。

webp

FusionInsight Manager由OMS和OMA组成:

  • OMS:操作维护系统的管理节点,OMS一般有两个,互为主备。

  • OMA:操作维护系统中的被管理节点,一般有多个。

Hue

Hue提供了FusionInsight HD应用的图形化用户界面。Hue支持展示多种组件,目前支持HDFS、Hive、YARN/MapReduce、Oozie、Solr、ZooKeeper以及Spark。

Hue是建立在Django Python的Web框架上的Web应用程序,采用了MTV(模型M-模板T-视图V)的软件设计模式。(Django Python是开放源代码的Web应用框架。)Hue由“Supervisor Process”和“WebServer”构成。“Supervisor Process”是Hue的核心进程,负责应用进程管理。“Supervisor Process”和“WebServer”通过“THRIFT/REST”接口与WebServer上的应用进行交互,如图所示。

webp

webp

Loader

实现FusionInsight HD与关系型数据库、文件系统之间交换数据和文件的数据加载工具;同时也可以将数据从关系型数据库或者文件服务器导入到FusionInsight HD的HDFS/HBase中,或者反过来从HDFS/HBase导出到关系型数据库或者文件服务器中。同时提供REST API接口,供第三方调度平台调用。

Loader模型主要由Loader Client和Loader Server组成:

webp

Flume

一个分布式、可靠和高可用的海量日志聚合系统,支持在系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写入各种数据接受方(可定制)的能力。

webp

webp

webp

FTP-Server

FTP-Server是一个纯Java的、基于现有开放的FTP协议的FTP服务。FTP-Server支持FTP、FTPS协议,每个服务都支持PORT、PASSIVE数据通信协议。用户或业务组件可通过通用的FTP客户端、传输协议提供对HDFS文件系统进行基本的操作,例如:文件上传、文件下载、目录查看、目录创建、目录删除、文件权限修改等。

FTP-Server服务由多个FTP-Server进程或FTPS-Server进程组成。
FTP-Server服务可以部署在多个节点上,每个节点上只有一个FTP-Server实例,每个实例只有一个FTP Server进程。

webp

Hive

建立在Hadoop基础上的开源的数据仓库,提供大数据平台批处理计算能力,能够对结构化/半结构化数据进行批量分析汇总完成数据计算。提供类似SQL的Hive Query Language语言操作结构化数据存储服务和基本的数据分析服务。其基本原理是将HQL语言自动转换成MapReduce任务,从而完成对Hadoop集群中存储的海量数据进行查询和分析。

Hive为单实例的服务进程,提供服务的原理是将HQL编译解析成相应的MapReduce或者HDFS任务,下图为Hive的结构概图。

webp

Mapreduce

提供快速并行处理大量数据的能力,是一种分布式数据处理模式和执行环境。MapReduce是一种简化并行计算的编程模型,名字源于该模型中的两项核心操作:Map和Reduce。Map将一个作业分解成为多个任务,Reduce将分解后多个任务处理的结果汇总起来,得出最终的分析结果。

如图所示,MapReduce通过实现YARN的Client和ApplicationMaster接口集成到YARN中,利用YARN申请计算所需资源。

webp

Storm

提供分布式、高性能、高可靠、容错的实时计算平台,可以对海量数据进行实时处理。CQL(Continuous Query Language)提供的类SQL流处理语言,可以快速进行业务开发,缩短业务上线时间。

webp

Spark

基于内存进行计算的分布式计算框架。在迭代计算的场景下,数据处理过程中的数据可以存储在内存中,提供了比MapReduce高10到100倍的计算能力。Spark可以使用HDFS作为底层存储,使用户能够快速地从MapReduce切换到Spark计算平台上去。Spark提供一站式数据分析能力,包括小批量流式处理、离线批处理、SQL查询、数据挖掘等,用户可以在同一个应用中无缝结合使用这些能力。

webp

Solr

一个高性能,基于Lucene的全文检索服务器。Solr对Lucene进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文检索引擎。从Solr 4.0版本开始,支持SolrCloud模式,该模式下能够进行集中式的配置信息、近实时搜索、自动容错等功能。

webp

Oozie

提供了对开源Hadoop组件的任务编排、执行的功能。以Java Web应用程序的形式运行在Java servlet容器(如:Tomcat)中,并使用数据库来存储工作流定义、当前运行的工作流实例(含实例的状态和变量)。

基于Ext提供WEB Console,该Console仅提供对Oozie工作流的查看和监控功能。通过Oozie对外提REST方式的WS接口,Oozie client通过该接口控制(启动、停止等操作) Workflow流程,从而编排、运行Hadoop MapReduce任务,如下图所示。

webp

Redis

一个开源的、基于网络的,高性能的key-value分布式存储数据库,支持丰富的数据类型,弥补了memcached这类key-value存储的不足,满足实时的高并发需求。

Redis跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。支持在服务器端计算集合的并、交和补集(difference)等,还支持多种排序功能。

webp

  • Redis Server:Redis组件的核心模块,负责Redis协议的数据读写、数据持久化、主从复制、集群功能。

  • Redis-WS:Redis WebService管理模块,主要负责Redis集群的创建、扩容、减容、查询、删除等操作,集群管理信息存入DB数据库。

Kafka

一个分布式的、分区的、多副本的实时消息发布和订阅系统。它提供了类似于JMS的特性,但在设计上特性,但在设计上完全不同,它具有消息持久化、高吞吐、分布式、多客户端支持、实时等特性,适用于离线和在线的消息消费,如常规的消息收集、网站活性跟踪、聚合统计系统运营数据(监控数据)、日志收集等大量数据的互联网服务的数据收集场景。

Kafka是一个分布式、分区化、多副本的消息发布-订阅系统。生产者(Producer)将消息发布到Kafka主题(Topic),消费者(Consumer)订阅这些主题并消费这些消息。在Kafka集群上一个服务器称为一个Broker。对于每一个主题,Kafka集群保留一个用于缩放、并行化和容错性的分区(Partition)。每个分区是一个有序、不可变的消息序列,并不断追加到提交日志文件。分区的消息每个也被赋值一个称为偏移顺序(Offset)的序列化编号。

webp


webp

Yarn

资源管理系统,它是一个通用的资源模块,可以为各类应用程序进行资源管理和调度。YARN并不局限于MapReduce,也可以供其他框架使用,比如Tez、Spark、Storm等。YARN类似于资源管理系统Mesos和更早的Torque。

HDFS

Hadoop分布式文件系统(Hadoop Distributed File System),提供高吞吐量的数据访问,适合大规模数据集方面的应用。为海量数据提供存储,提供类POSIX接口。

HDFS是一个Master/Slave的架构,在Master上运行NameNode,而在每一个Slave上运行DataNode,ZKFC需要和NameNode一起运行。

在HDFS内部,一个文件分成一个或多个“数据块”,这些“数据块”存储在DataNode集合里,NameNode负责保存和管理所有的HDFS元数据。客户端连接到NameNode,执行文件系统的“命名空间”操作,例如打开、关闭、重命名文件和目录,同时决定“数据块”到具体DataNode节点的映射。DataNode在NameNode的指挥下进行“数据块”的创建、删除和复制。客户端连接到DataNode,执行读写数据块操作。

webp

webp

SmallFS

HDFS中NameNode负责管理整个文件系统的元数据。由于NameNode的元数据将使用内存来管理,当产品业务在使用中生成较多的小文件时,会迅速消耗掉NameNode上的内存,对NameNode运行产生压力,影响整个集群的效率。

提供小文件后台合并功能,能够自动发现系统中的小文件(通过文件大小阈值判断),在闲时进行合并,并把元数据存储到本地的LevelDB中,来降低NameNode压力,同时提供新的FileSystem接口,让用户能够透明的对这些小文件进行访问。将大量小文件按一定的周期进行合并、删除、清理任务来减少HDFS上的小文件数量,大大降低NameNode元数据管理压力。

webp

DBService

一个具备高可靠性的传统关系型数据库,适用于存储小量数据(10GB左右),比如:组件元数据。DBService仅提供给集群内部的组件使用,如为Hive、Hue、Spark组件提供元数据存储服务,提供数据存储、查询、删除等功能。

DBService组件在集群中采用主备模式部署两个DBServer实例,每个DBServer实例包含三个模块:HA、Database和Floatip。

webp

HBase

HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。HBase适合于存储大表数据(表的规模可以达到数十亿行以及数百万列),并且对大表数据的读、写访问可以达到实时级别。提供海量数据存储功能,是一种构建在HDFS之上的分布式、面向列的存储系统。

  • 利用Hadoop HDFS(Hadoop Distributed File System)作为其文件存储系统,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统。

  • 为Spark和Hadoop MapReduce提供海量数据实时处理能力。

  • 利用ZooKeeper作为协同服务。

webp

ZooKeeper

提供分布式、高可用性的协调服务能力。帮助系统避免单点故障,从而建立可靠的应用程序。

Metadata

MetaData(简称MDM),全称为元数据管理,可为FusionInsight HD数据仓库类型的组件(Hive和HBase)提供元数据的抽取能力,并且可以由人工为每个元数据进行标签设定,用于后向的数据分析、搜索等扩展功能。

webp

KrbServer 及LdapServer

为了管理FusionInsight集群中数据与资源的访问控制权限,华为大数据平台推荐以安全模式安装集群。在安全模式下,客户端应用程序在访问FusionInsight集群中的任意资源之前均需要通过身份认证,建立安全会话链接。FusionInsight通过KrbServer为所有组件提供Kerberos认证功能,实现了可靠的认证机制。

LdapServer支持轻量目录访问协议(Lightweight Directory Access Protocol,简称为LDAP),为Kerberos认证提供用户和用户组数据保存能力。



FusionInsight用户登录时安全认证功能主要依赖于Kerberos和LDAP。

webp


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。