技术解读:实时数仓Hologres如何支持超大规模部署与运维

简介:在本次评测中,Hologres是目前通过中国信通院大数据产品分布式分析型数据库大规模性能评测的规模最大的MPP数据仓库产品。通过该评测,证明了阿里云实时数仓Hologres能够作为数据仓库和大数据平台的基础设施,可以满足用户建设大规模数据仓库和数据平台的需求,具备支撑关键行业核心业务数据平台的能力。

作者 | 欧文
来源 | 阿里技术公众号

2021年11月23日至12月3日,中国信息通信研究院(以下简称“中国信通院”)对第13批分布式分析型数据库共计27款产品进行了大数据产品能力评测。阿里云实时数仓Hologres(原阿里云交互式分析)在报表任务、交互式查询、压力测试、稳定性等方面通过了中国信通院分布式分析型数据库性能评测(大规模),并以8192个节点刷新了通过该评测现有参评的规模记录。

在本次评测中,Hologres是目前通过中国信通院大数据产品分布式分析型数据库大规模性能评测的规模最大的MPP数据仓库产品。通过该评测,证明了阿里云实时数仓Hologres能够作为数据仓库和大数据平台的基础设施,可以满足用户建设大规模数据仓库和数据平台的需求,具备支撑关键行业核心业务数据平台的能力。

在Hologres实例的云原生调度和运维体系建设上,团队也联合阿里云云原生等团队,解决了在超大规模集群;在运维能力建设上,团队通过自动化、智能化的运维体系建设,解决了实例部署和稳定性保障的问题。

一 超大规模部署面临的挑战

随着互联网的发展,数据量出现了指数型的增长,单机的数据库已经不能满足业务的需求。特别是在分析领域,一个查询就可能需要处理很大一部分甚至全量数据,海量数据带来的压力变得尤为迫切。同时,随着企业数字化转型进程的加速,数据的时效性变得越来越重要,如何利用数据更好的赋能业务成为企业数字化转型的关键。

大数据实时数仓场景相比数据库的规模往往是成倍增加:数据量增加(TB级、PB级甚至是EB级)、数据处理的复杂度更高、性能要更快、服务和分析要同时满足等等。

而使用过开源OLAP系统的用户,尤其是通过开源OLAP自建集群的用户,都有一些比较深刻的体会,就是部署和运维困难,包括ClickHouse、Druid等,都面临了如下难题:

  • 如何满足集群的快速交付和弹性伸缩
  • 如何定义服务的可用性指标和SLA体系
  • 存储计算一体,机型选择和容量规划困难
  • 监控能力弱,故障恢复慢,自愈能力缺失

同时,随着规模的增加,规模优势和高性能吞吐下的压力,实时数仓的部署和运维难度呈指数级增加,系统面临了诸多调度、部署和运维上的各种挑战:

  • 如何解决调度能力满足在单集群万台规模下服务实例的秒级拉起和弹性伸缩能力的要求;
  • 如何解决大规模集群自身的容量规划、稳定性保障、机器自愈,提升相关的运维效率;
  • 如何实现实例和集群的监控时效和准确性的双重要求,包括怎么在分钟内完成问题发现和分钟级的问题解决

得益于阿里云强大的云原生基础服务研发能力,实时数仓Hologres通过优秀的架构设计和阿里云大数据智能运维中台的能力等多个核心能力的建设,解决这些挑战,为用户提供了一个性能强大、扩展能力优秀、高可靠、免运维的实时数仓产品。

本文将会从超大规模部署与运维体系建设出发,分析超大规模实时数仓面临的挑战和针对性的设计及解决方案,实现在高负载高吞吐的同时支持高性能,并做到生产级别的高可用。

二 基于云原生的大规模调度架构设计

随着云技术的兴起,原来越多的系统刚开始利用Kubernetes作为容器应用集群化管理系统,为容器化应用提供了自动化的资源调度,容器部署,动态扩容、滚动升级、负载均衡,服务发现等功能。

Hologres在设计架构之初就提前做了优化,采用云原生容器化部署的方式,基于Kubernetes作为资源调度系统,满足了实时数仓场景上的超大规模节点和调度能力。Hologres依赖的云原生集群可以支持超过1万台服务器,单实例可以达到8192个节点甚至更大的规模。

1 Kubernetes万台调度

Kubernetes官方公布集群最大规模为5000台,而在阿里云场景下,为了满足业务规模需求、资源利用率提升等要求,云原生集群规模要达万台。众所周知Kubernetes是中心节点式服务,强依赖ETCD与kube-apiserver,该块是性能瓶颈的所在,突破万台规模需要对相关组件做深度优化。同时要解决单点Failover速度问题,提升云原生集群的可用率。

通过压测,模拟在万台node和百万pod下的压力,发现了比较严重的响应延迟问题,包括:

  1. etcd大量的读写延迟,并且产生了拒绝服务的情形,同时因其空间的限制也无法承载 Kubernetes 存储大量的对象;
  2. API Server 查询延迟非常高,并发查询请求可能导致后端 etcd oom;
  3. Controller 处理延时高,异常恢复时间久,当发生异常重启时,服务的恢复时间需要几分钟;
  4. Scheduler 延迟高、吞吐低,无法适应业务日常运维的需求,更无法支持大促态的极端场景

为了突破k8s集群规模的瓶颈,相关团队做了详细调研,找到了造成处理瓶颈的原因:

  1. 发现性能瓶颈在kubelet,每10s上报一次自身全量信息作为心跳同步给k8s,该数据量小则几KB大则10KB+,当节点到达5000时,会对kube-apiserver和ETCD造成写压力。
  2. etcd 推荐的存储能力只有2G,而万台规模下k8s集群的对象存储要求远远超过这个要求,同时要求性能不能下降;
  3. 用于支持集群高可用能力的多API Server部署中,会出现负载不均衡的情况,影响整体吞吐能力;
  4. 原生的scheduler 性能较差,能力弱,无法满足针对混部、大促等场景下的能力。

针对该情况,做了如下优化,从而达到万台规模调度:

  1. etcd设计新的内存空闲页管理算法,大幅优化etcd性能;
  2. 通过落地 Kubernetes 轻量级心跳、改进 HA 集群下多个 API Server 节点的负载均衡,解决了APIServer的性能瓶颈;
  3. 通过热备的方式大幅缩短了 controller/scheduler 在主备切换时的服务中断时间,提高了整个集群的可用性;
  4. 通过支持等价类处理以及随机松弛算法的引入,提升了Scheduler的调度性能

三 Hologres运维体系建设

1 Hologres运维体系总览

针对OLAP体系碰到的问题和痛点,以及在超大规模部署压力下的运维挑战,同时依托阿里云大数据运维中台,我们设计了Hologres的运维体系,解决资源和集群交付等自动化问题、集群和实例级别的实时可观测性问题和智能化的自愈体系,提升Hologres的SLA到生产可用级别。

2 集群自动化交付

Hologres 是完全基于云原生的方式设计和实现的,通过存储计算分离的方式,解耦了计算资源和存储资源;其中计算节点的部署通过K8s集群进行部署和拉起。通过自研的运维管理系统ABM,在集群交付上,我们对集群进行抽象设计,分离出资源集群和业务集群的概念;资源集群的交付,ABM和底层平台进行打通,进行资源集群的创建和容量维持;在业务集群上,ABM提供基于K8s 概念的部署模板,将管控等节点在资源集群上快速拉起,完成交付。

3 可观测性体系

系统的可观测性能帮助业务更好的管理集群水位和问题排查等,从而提升企业级管控能力。在可观测性上,不仅需要透出更加简单易懂的监控指标,还需要有成熟的日志采集系统,从而实现更简单的运维,只需要为业务问题负责。基于阿里云的监控产品和Hologres的可观测性需求,我们设计了Hologres的实时监控能力。

Metric监控体系

为了支持详细的系统能力观察、性能监控、快速的问题定位和debug,Hologres 支持了非常丰富的Metric监控体系,这也对整个Metric链路的采集、存储和查询提出了非常高的要求。在监控链路上,Hologres 选择了阿里巴巴自研的Emon平台,除了支持亿级Metric每秒的写入,Emon还支持自动downsample、聚合优化等能力;同时在后端我们通过实时链路,可以把核心Metric吐到云监控,方便用户自助的对实例进行监控观察和问题定位。

日志采集和监控

在日志采集上,Hologres采用了成熟的云产品SLS,可以支持中心式的日志排查和过滤 ;同时考虑到Hologres的日志量也非常庞大,在采集上采用了分模块和分级的机制,在控制成本的同时,能很好的解决问题排查和审计的需要。同时,SLS也提供了基于关键字等方式的监控方案,可以对关键错误进行告警,以方便及时处理问题。

基于元仓的可用性监控

在Metric和日志的采集及告警上,更多的是体现某一个模块上的问题,上面的手段还无法完整的回答某一个实例的可用性。基于此,我们构建了一个Hologres运维数仓,通过多维度的事件、状态进行综合判断实例是否工作正常。
在元仓中会收集和维护多维度数据,包括实例的meta数据、Hologres中各模块的可用性判断标准、实例各模块的状态、事件中心,包括运维事件、客户事件、系统事件等;在进行实例可用性判断的同时,元仓还提供了用于实例诊断、实例巡检等各种数据。当前元仓的能力已经产品化发布为慢Query日志,用户可以通过慢query日志,进行自助化问题诊断和调优。

4 智能运维提升产品SLA

在可观测性完善的基础上,为了提升问题定位的速度和缩短实例恢复时间,即提升Hologres的MTTR,基于阿里云大数据运维中台提供的基础能力和智能运维方案,我们构建了完整的Hologres SLA管理体系和故障诊断及自愈体系。

SLA体系

基于Hologres运维元仓的数据和实例可用性定义,我们建立了Hologres实例级别可用性的管理系统,实例可用性数据会进入ABM的SLI数据库,SLI根据数据和条件触发实例可用性监控,在监控发出的同时,会触发实例的诊断,系统根据诊断结果,判断是否进行自愈,如果是已知可以自动恢复情况,会触发自愈,进行故障的自动恢复;如果是未知情况,会触发生成人工工单,工单系统会由人跟进完成,并逐步形成自愈的action。

智能巡检

智能巡检解决的是集群或者实例的一些隐性和不紧急的问题,避免一些小问题的日积月累引发质变影响线上的稳定性;除了一些比较清晰定义的巡检项,智能巡检还引入了聚类算法等,对系统指标进行分析,这也会帮助我们发现一些集群中的离散节点,进行及时处理,避免问题节点导致影响整个实例的可用性。

智能诊断和自愈

智能诊断既依赖运维元仓的数据,同时还会依赖诊断相关的算法支持,包括日志聚类、根因分析等,进行错误日志的聚类,对聚类结果进行打标。在ABM提供的算法和工程能力支持下,实例诊断已经在帮助业务进行问题的快速定位,提升问题解决的效率,缩短了实例的MTTR。

四 Hologres产品级运维能力

除了上面介绍的Hologres服务本身的运维稳定性保障。在Hologres 产品侧,通过多种方式提升系统的稳定性:

1、高可用架构

采用高可用架构设计,稳定支撑阿里集团历年双11等大促流量峰值,经历大规模生产考验,包括

  • 存储计算分离架构提升系统扩展灵活性
  • 多形态replication解决数据读写分离,主要包括多副本提高吞吐、单实例资源组隔离、多实例共享存储高可用
  • 调度系统提升节点failover快速恢复能力

2、多元化的系统可观性指标

除了Hologres本身架构的设计,同时也为用户提供多元化的观测指标,实时监控集群状态和事后复盘,无需复杂操作,只需为业务负责:

  • 多维度监控指标:CPU、内存、连接数、IO等监控指标实时查询,实时预警;
  • 慢query日志:发生的慢Query或失败Query通过时间、plan、cpu消耗等各项指标进行诊断、分析和采取优化措施,提高自助诊断能力;
  • 执行计划可视化:通过多种可视化展现的方式,对Query进行运行分析、执行分析,详细算子解读,并进行优化建议引导,避免盲目调优,降低性能调优门槛,快速达到性能调优的目的。

五 总结

通过对大规模调度下面临的调度性能瓶颈的分析和针对性的优化,Hologres 可以完成8192节点甚至更大规模的实例交付和扩缩容。同时基于云原生的Hologres智能运维体系建设,解决了大规模集群和实例下面临的运维效率和稳定性提升问题,使得Hologres在阿里巴巴内部核心场景历经多年双11生产考验,在高负载高吞吐的同时实现高性能,实现生产级别的高可用,更好的支撑业务,为企业的数字化转型提供了良好的支持。

原文链接

本文为阿里云原创内容,未经允许不得转载。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/511452.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

成功通航:用宜搭提升数字化管理效能,确保每次飞行任务安全执行

简介:宜搭帮助山西成功通航节省了100万左右的成本,同时使管理运营效率提升了76%。 山西成功通用航空股份有限公司 50-100人 / 航空运输 / 山西-长治 / 成功通航综合管理平台 “通用航空迎来发展机遇,随着通航行业‘放管服’政策的不断推进…

用键盘输入一条命令

作者 | 闪客来源 | 低并发编程新建一个非常简单的 info.txt 文件。name:flash age:28 language:java在命令行输入一条十分简单的命令。[rootlinux0.11] cat info.txt | wc -l 3这条命令的意思是读取刚刚的 info.txt 文件,输出它的行数。我们先从最初始的状态开始说起…

Redis 7.0 Multi Part AOF的设计和实现

简介:本文将详解Redis中现有AOF机制的一些不足以及Redis 7.0中引入的Multi Part AOF的设计和实现细节。 Redis 作为一种非常流行的内存数据库,通过将数据保存在内存中,Redis 得以拥有极高的读写性能。但是一旦进程退出,Redis 的数…

面向B端算法实时业务支撑的工程实践

简介:在营销场景下,算法同学会对广告主提供个性化的营销工具,帮助广告主更好的精细化营销,在可控成本内实现更好的ROI提升。我们在这一段时间支持了多个实时业务场景,比如出价策略的实时化预估、关键词批量服务同步、实…

中间表是如何被消灭的?

作者 | 不吃西红柿来源 | CSDN博客中间表的产生中间表是数据库中专门存放中间计算结果的数据表,往往是为了前端查询统计更快或更方便而在数据库中建立的汇总表,由于是由原始数据加工而成的中间结果,因此被称为中间表。在某些大型机构中&#…

自定义控件android.r,Android控件架构与自定义控件

前言最近在开发的路上越走越远了,每天在看各位大神公众号更新内容是自定义View的时候,一些小的内容有点模具,决定回过头来温习一下过往的内容。此篇也是根据android群英传来总结的一篇文章。1 Android控件架构Android的每个控件都是占一块矩形…

基于 PTS 压测轻松玩转问题诊断

简介:性能测试 PTS(Performance Testing Service)是具备强大的分布式压测能力的 SaaS 压测平台,可模拟海量用户的真实业务场景,全方位验证业务站点的性能、容量和稳定性。 作者:智云 为什么要做压测的问题…

阿里云开源业内首个应用多活项目 AppActive,与社区共建云原生容灾标准

简介:继高可用架构团队的 Sentinel、Chaosblade 开源后,第三个重磅高可用产品:应用多活 AppActive 正式开源,形成高可用的三架马车,帮助企业构建稳定可靠的企业级生产系统,提高企业面对容灾、容错、容量等问…

清晰还原31年前现场,火山引擎超清修复Beyond经典演唱会

7月3日晚,抖音携手环球音乐旗下厂牌宝丽金,直播经过火山引擎超清修复的Beyond Live1991生命接触演唱会及纪念音乐会精选内容,吸引了超1.4亿人次观看。 Beyond是一支成立于1983年的摇滚乐队,随着粤语音乐的兴起,Beyond…

如何定位并修复 HttpCore5 中的 HTTP2 流量控制问题

简介:开篇吹一波阿里云性能测试服务 PTS,PTS 在 2021 年 5 月份已经上线了对 HTTP2 协议的支持(底层依赖 httpclient5),在压测时会通过与服务端协商的结果来决定使用 HTTP1.1 或者 HTTP2 协议。 作者:风起…

全链路灰度之 RocketMQ 灰度

简介:本文将以上次介绍过的《如何用 20 分钟就能获得同款企业级全链路灰度能力?》中的场景为基础,来进一步介绍消息场景的全链路灰度。 作者:亦盏 之前的系列文章中,我们已经通过全链路金丝雀发布这个功能来介绍了 M…

普洛斯数据中心发布DC Brain系统,科技赋能智慧化运营管理

7月5日,普洛斯数据中心发布了DC Brain智慧化运营管理系统。该系统由普洛斯历时两年自主研发,契合现代化数据中心平台的发展趋势。目前已应用于普洛斯旗下数据中心,并有对外输出的成功案例,面向行业,赋能中小规模运营商…

mi6 android版本,小米6:我依旧是王,MIUI10.4.2稳定版与AndroidP同时到来

原标题:小米6:我依旧是王,MIUI10.4.2稳定版与AndroidP同时到来小米6作为小米数字系列最受欢迎的机型之一,从上市到下架热度一直未减,它也是众多米粉心目中小米数字系列最成功的机型没有之一。但是,再怎么讲…

如何利用 AHAS 保障 Web 服务稳如磐石?

简介:应用高可用服务 AHAS (Application High Availability Service) 是经阿里巴巴内部多年高可用体系沉淀下来的云产品,基于阿里开源流控降级组件 Sentinel,以流量与容错为切入点,从流量控制、不稳定调用隔离、熔断降级、热点流量…

KubeDL HostNetwork:加速分布式训练通信效率

简介:ubeDL 为分布式训练作业带来了 HostNetwork 网络模式,支持计算节点之间通过宿主机网络相互通信以提升网络性能,同时适应 RDMA/SCC 等新型高性能数据中心架构的网络环境,此外,KubeDL 针对 HostNetwork 模式带来的 …

阿里云容器服务差异化 SLO 混部技术实践

简介:阿里巴巴在“差异化 SLO 混合部署”上已经有了多年的实践经验,目前已达到业界领先水平。所谓“差异化 SLO”,就是将不同类型的工作负载混合运行在同一节点,充分利用工作负载对资源 SLO 需求特征的不同,提升资源整…

鸿蒙系统被烧毁,华为鸿蒙操作系统再次被质疑 国产是原罪

国产是原罪,国际驰名双标现象严重,为何对待国产的东西要格外刻薄?华为手机版鸿蒙系统正式发布,但却引来一片嘲讽,这些人简直是刷新三观。如果一个产品是相同的价格,国产的用料更足但是还不够成熟&#xff1…

云原生落地大爆发,企业和开发者如何把握先机?

简介:回顾 2021 年,云原生有哪些重大技术突破?云原生时代下开发模式、技术标准等不断变化,企业应该如何落地云原生?开发者应掌握哪些能力?本文将为你一一解说。 作者:伍杏玲 随着云计算产业走…

Gartner发布中国人工智能软件市场指南,激烈竞争下走向差异化

作者 | Gartner高级研究总监 方琦 供稿 | Gartner 人工智能(AI)软件是中国企业投资和关注的重点。中国的AI软件市场在持续快速增长,竞争非常激烈。AI软件企业使用一种或多种AI技术(见图1),帮助企业解读事件…

华为Mate是鸿蒙系统,华为mate30概念新机:4500mAh+5G网络+“鸿蒙”系统 这才是华为...

对于现在的华为手机来说,很多消费者的态度不一样,有的觉得华为手机性价比不高,有的则觉得华为手机质量很好,配置也非常的高。而我觉得,华为手机最值得敬佩,敬佩的是华为不屈的精神,敬佩的是远见…