【华为网络技术大赛】FusionInsight HD

产品定位

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

  • 安全
    架构安全、认证安全、文件系统层加密
  • 可靠
    所有管理节点组件均实现HA(High Availability)
    集群异地灾备
    数据备份恢复
  • 易用
    统一运维管理
    易集成
    易开发

系统架构

Manager

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

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上的应用进行交互,如图所示。

Loader

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

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

Flume

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

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进程。

Hive

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

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

Mapreduce

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

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

Storm

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

Spark

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

Solr

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

Oozie

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

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

Redis

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

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

  • Redis Server:Redis组件的核心模块,负责Redis协议的数据读写、数据持久化、主从复制、集群功能。
  • Redis-WS:Redis WebService管理模块,主要负责Redis集群的创建、扩容、减容、查询、删除等操作,集群管理信息存入DB数据库。

Kafka

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

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


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,执行读写数据块操作。

SmallFS

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

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

DBService

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

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

HBase

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

  • 利用Hadoop HDFS(Hadoop Distributed File System)作为其文件存储系统,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统。
  • 为Spark和Hadoop MapReduce提供海量数据实时处理能力。
  • 利用ZooKeeper作为协同服务。

ZooKeeper

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

Metadata

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

KrbServer 及LdapServer

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

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

FusionInsight用户登录时安全认证功能主要依赖于Kerberos和LDAP。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容