背景介绍
随着数据湖技术从离线向实时的倒退,数据湖在业务已逐步从辅助决策向实时决策,实时干涉甚至提前预防的方向倒退,同时,随着国家把数据作为第五种生产因素,数据据价值在逐渐晋升,这样对海量数据湖的可靠性提出了新的要求。
首先,数据湖作为企业全量数据存储的中央,对数据的安全性有着至关重要的作用,如何保障湖内的数据在任何状况下,都不要呈现失落的状况,是越来越多的企业在思考的问题,同时,随着数据湖逐渐补齐交互式查问,实时剖析等能力,大量的分析师正逐渐将日常的数据分析工作转移到数据湖中,在这种背景下,一旦呈现数据湖无奈对外提供服务或者是数据失落,将会对企业产生重大影响。但另一方面,数据中心级的故障在寰球一直呈现,火灾、旱灾等各种新闻不断涌现。同时,日常运维过程中的误操作,也是时时刻刻悬在头上的一把利剑,这种状况可能比机房起火更常见,但对数据的影响却也是致命的。
每一次有新闻报道这方面的事变时,置信很多大数据平台的运维人员都是心头一紧,如何确保数据湖零碎的相对牢靠,成为越来越多企业关怀的问题。
对于一个数据湖平台,常见的故障包含:
类型 | 故障场景 |
---|---|
天然劫难 | 地震,火灾,旱灾等重大劫难导致的机房级、城市级的故障,尽管呈现概率低,但影响大,复原周期长。 |
错误操作 | 运维人员无心或无心进行的某些会影响到整个局点数据安全的操作,如数据误删除,此类场景最为常见,对数据的影响也最为致命。 |
硬件故障 | 服务器、网络类的小范畴故障,随着集群规模的增大,此类故障已成为常态。 |
数据湖个别作为大规模分布式系统,对以小范畴硬件故障类个别都已在零碎架构中有比较完善的思考,本文不做详细描述。上面次要介绍的是重大劫难以及误操作场景下,MRS的高可用计划。
MRS灾备计划介绍
华为云MRS作为寰球当先的数据湖平台,在可靠性方面已有比拟残缺的布局,为利用不同的故障场景,提供了以下三种计划:
- 数据备份:采纳OBS或者备MRS集群来作为备份存储,将要害数据备份到OBS/HDFS中。
- 单集群跨AZ:采纳多AZ形式建设单集群,通过正本搁置策略(BPP)和YARN的任务调度机制的优化,确保单AZ故障时数据不失落,要害业务不中断。
- 异地主备容灾:别离建设主、备两个MRS集群,配置主备容灾关系,主集群数据周期/实时主动同步到备集群上。主集群故障时,将业务倒换到备集群上,确保业务疾速复原。
上面将对以上三种计划进行详细描述:
MRS备份计划介绍:
备份计划,作为一种最根底的数据保护计划,具备成本低,计划简略的特点,特地是相比其它计划,在数据误删爱护方面,具备独特的劣势。然而,大数据业务的备份,也是非常有挑战的一项工作,次要体现在:
- 因为大数据平台的组件多,各类组件的备份计划也不对立,施行起来较为简单,特地是有些场景,还要思考组件间的数据一致性问题;
- 数据体量微小,全量备份老本高,正因如此,很多大数据我的项目都没有采纳备份计划。
华为云原生数据湖MRS,作为企业级的数据湖平台,具备简略易用的备份治理性能,反对对接多种备份存储计划。整体备份能力如下:
在组件上,反对了Manger、DBService、HDFS、YARN、HBase、Hive、ES、Redist、ClickHouse、IotDB等所有波及数据的组件。同时MRS反对图形化的备份配置界面,用户只须要按需抉择所须要备份的数据,设置好备份周期,零碎将会主动周期进行备份,且会保障组件间数据关联的一致性,同时也反对手工一次性备份。
备份存储,MRS反对将数据备份到备MRS集群或OBS上,对于有条件采纳OBS备份的场景,可优先采纳OBS备份,对于无OBS的场景,能够采纳备MRS集群进行备份,在此场景下,思考到老本,备集群HDFS能够采纳两正本。
以下是备份工作的次要治理界面:
创立备份工作时的策略抉择:
备份工作治理:
总结:备份计划,因为其在应答数据失落方面的劣势,个别会作为根底的数据保护能力,特地是其全量数据的保留能力,能够应答数据误删除的场景。
MRS单集群跨AZ计划介绍
备份计划尽管能够解决数据可靠性的问题,但无奈解决业务可靠性的问题,如果产生机房机的故障,尽管数据能够从备份零碎中复原,但这时的复原周期会十分长,针对机房级的故障,如何同时解决业务和数据的可靠性,MRS提供了单集群跨AZ的计划,此计划的外围是利用大数据的分布式能力,将一个MRS集群部署到多个AZ中,对于存储层的HDFS,自动识别多AZ,并将多正本散布在多AZ中,确保任一AZ故障,都不会导致数据失落。对于计算层,反对同一个队列跨AZ部署,并在一个AZ故障时,主动将工作在另一个AZ中重试,实现应用层无感知的AZ迁徙。
MRS单集群跨AZ的部署架构如下:
如上图所示,同一个MRS集群会同时部署到3AZ中,对于存储层,通过块搁置策略(BPP)对AZ的感知,将同一数据的3个正本,别离搁置到3个AZ中,确保任一AZ故障,不会造成数据失落,对于计算,通过将租户队列配置到多个AZ中,实现租户的利用,在一个AZ故障当前,依然能够在另外一个AZ中执行。
在跨AZ的的场景下,还有一个比拟大的挑战是AZ间的带宽,AZ间的带宽个别会比拟无限,如何升高跨AZ部署的时候,对AZ间带宽的要求是一个不可漠视的问题,MRS的跨AZ计划中,为了升高对跨AZ带宽的诉求,MRS从以下三个方面,对跨AZ的流量进行了优化:
- 利用内的Shuffle流量:基于自研的Superior调度器,实现了失常场景下,计算工作不跨AZ,这样,将作务运行过程中的Shuffle流量全副管制在一个AZ内,缩小了跨AZ的流量耗费。
- 业务数据读取流量:对于业务数据的读申请,通过基于数据本地化的调度,实现了数据从本AZ读取,将跨AZ的读流量降到接近于零。
- 业务数据写流量:HDFS上的写流量,会有大量的临时文件、日志类的写入流量,MRS实现了按目录配置是否须要跨AZ,实现了只针对真正的业务数据按跨AZ的策略进行正本搁置。消减掉了临时文件、日志类的无用的跨AZ流量。
如下图所示,App1运行于跨AZ队列Queue1上,尽管此队列关联了AZ1和AZ2的计算资源,但MRS自研的Superior调度器通过AZ感知调度,不会将App1的计算工作同时散发到两个AZ上同时执行,而是仅在其中一个AZ上执行,
而当AZ1故障时,Superior会主动将此利用在AZ2上重跑,此时利用看到的工作状态并不会中断,也不须要进行失败重试的革新,实现了对利用的齐全通明。
同时能够看出,无论App运行在哪个AZ上,对存储层的拜访,都能够实现在本AZ内的闭环,并不需要跨AZ拜访,保障性能的同时,也升高了对AZ间带宽的要求。
思考到某些场景,没有足够的3AZ资源可用,MRS也反对2+1的部署模式,即:两个主AZ加一个仲裁AZ,仲裁AZ不用于理论的数据存储和业务计算,只须要几个工部署须要3AZ仲裁的组件,次要包含Zookeeper、HDFS JournalNode。
针对某此AZ间资源不均的场景,MRS也提供了灵便的配置能力,能够按需配置须要爱护的业务(租户)和数据(表/目录),只有最小的AZ中的资源,满足需要跨AZ爱护的业务和数据的资耗的诉求即可。不须要强制所有AZ的的资源齐全一样。
MRS提供了简略易用的跨AZ部署配置界面:
集群开启跨AZ能力:
抉择每个AZ的节点:
.png)
总结:
通过在计算、存储、集群治理方面的设计,业务能够不便灵便地部署出跨AZ的MRS集群,在业务看来,跨AZ的集群依然是一个单集群,且在平台外部实现了AZ故障时的利用重试,应用层也不必进行失败重试类的革新,真正实现了对利用的齐全通明的高可用能力。
MRS主备容灾计划介绍
尽管跨AZ的计划,能够解决机房级的故障,但因为单集群跨AZ计划对网络时延的要求,AZ间的间隔个别只能在一个城市之内。为了应答城市级的故障场景,须要采纳MRS主备容灾的计划,实现真正的高可用,这里须要阐明的是,主备容灾计划,是一个端到端的计划,不是一个大数据平台层单方面能实现的,因而很多时候须要联合数据源、应用层的架构进行残缺的设计,本文次要介绍大数据平台层的主备容灾计划。大数据平台层的主备复制计划如下图:
针对主备容灾场景下,波及组件多,同步治理简单的问题,MRS提供了对立的容灾治理能力,业务只须要将主备集群的容灾关系配置好,即可实现对所有组件的容灾爱护。
.png)
思考到容灾服务,很多时候只会针对外围数据和业务进行爱护,MRS提供了爱护组的概念,一对主备集群,能够配置多个爱护组,用于不同业务和数据的主备爱护。
一个爱护组内,能够配置HDFS目录、Hive表等各种纬度的爱护内容。
配置好爱护组当前,零碎会提供爱护组的同步状态、历史记录等治理性能。
总结:通过MRS的主备容灾能力,业务能够很容易地实现大数据平台的异地主备容灾能力,满足应答城市级劫难的能力,配置业务侧的主备容灾计划,真正实现业务的相对高可用。
总结:
通过下面介绍的三种计划,MRS能够实现从简略的数据备份到跨AZ高可用,到异地容灾的残缺场景笼罩,撑持业务应答各种异样场景,三种计划的比照如下:
业务能够依据本身业务特点以及须要应答的故障场景,灵便抉择适宜本人的计划。如在华北某城市中,通过跨AZ的形式建设主集群,在华南某城市建设一个备集群。这样既能防护AZ级的火灾、电力故障,也能防备城市级的旱灾等重大劫难场景。
本文由华为云公布