兑吧:从自建HBase迁移到阿里云HBase实战经验

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云数据库 RDS PostgreSQL,高可用版 2核4GB 50GB
云数据库 RDS SQL Server,独享型 2核4GB
简介: 业务介绍 兑吧集团包含兑吧网络和推啊网络,兑吧网络是一家致力于帮助互联网企业提升运营效率的用户运营服务平台,提供积分商城和媒体运营服务。推啊网络是一家互动式广告平台,经过多年的探索与实践,首创了全新的移动广告模式,实现了广告主、媒体、用户多方共赢。

业务介绍

兑吧集团包含兑吧网络和推啊网络,兑吧网络是一家致力于帮助互联网企业提升运营效率的用户运营服务平台,提供积分商城和媒体运营服务。推啊网络是一家互动式广告平台,经过多年的探索与实践,首创了全新的移动广告模式,实现了广告主、媒体、用户多方共赢。在推啊的广告场景中,广告主可获得更好的投放效果,媒体方能得到更好的流量变现效率,受众端具有更好的用户体验,目前推啊已经服务超过15000家媒体,阿里云hbase主要服务于"推啊"的广告业务。

"推啊"的整体业务流程如下图:

_

整体产品架构

广告平台基础架构完善,能有效支持业务,其中核心数据平台为公司所有业务提供强有力的数据支撑。其中整个数据平台根据处理业务不同大致分为3个模块:

  • 离线统计模块:对数据进行离线统计,提供报表和相应的后台数据分析
  • 实时统计模块:实时数据主要用来对接算法,用于统计用户的实时行为,比如对不同广告的曝光,点击等行为,要求快速计算响应,所以我们采用低延迟的流式计算
  • 实时OLAP分析模块:多维实时分析,定位是提供分钟粒度的统计数据,主要用于任意维度和指标的统计

HBase在"推啊"使用场景

HBase在推啊主要用于流式数据统计,存储用户画像的相关数据,属于实时统计模块中主要存储。
实时统计时,对用户的行为数据根据不同维度不同指标进行统计,比如会记录用户在不同广告上的曝光,点击,参与等数据,也会记录用户的相应属性,比如用户对哪类广告比较感兴趣,用户的年龄,性别,职业,爱好等特征。这些数据全部存储在HBase集群中。

为什么从物理HBase迁移到阿里云HBase

最开始我们是物理机房自建HBase,选择阿里云HBase主要出于以下几个考虑:

  1. 云HBase服务基本免运维。减轻运维和系统调优压力,由阿里云hbase专家团队提供专业的运维服务。
  2. HBase基础设施重要性高。HBase作为底层存储系统,一旦出现系统故障,排查周期长,难度高,短时间内难以解决,直接影响到线上系统的稳定性,在这方面阿里云Hbase能提供强大的技术支撑,阿里云有国内最强大的内核团队,据了解阿里目前有3个pmc,6个committer,是中国拥有最多HBase committer的公司。
  3. 云HBase服务好。在使用Hbase上有任何疑问都可以直接咨询阿里云Hbase同学,他们响应及时,服务周到,能给出专业的建议。

整个迁移实战过程

根据我们业务的发展,从3个阶段阐述下阿里云hbase的使用情况以及遇到的问题

阶段一:承担数据集市作用,分解业务访问压力

这个阶段我们的数据中心是搭建在自己的IDC机房里,使用CDH 的hadoop来搭建的集群,所有的组件包括hive,JStorm,Druid等都安装在一个集群里,JStorm计算时会使用hadoop自带的HBase用来计算和统计数据,计算完成后,会将成品数据写入到阿里云的HBase上,业务系统会访问阿里云的HBase来获取计算好的数据,这样做的原因主要从2个方面考虑:

  • 业务系统使用的是阿里云的ecs服务器,和IDC机房是通过专线连通的,跨公网传输,占用带宽,网络质量无法保证。
  • 不希望业务系统直接访问IDC机房中的HBase集群,主要是担心并发高,会拉高整个集群的负载,影响到集群中的其它业务。
    这个阶段的HBase配置是4核8G 2节点 100G 4 2 SSD,大概同步20%的业务数据给线上系统使用, 数据量大概在200G左右,查询QPS在500左右,单条查询平均耗时在2ms

阶段二:全面迁移,云HBase替换线下物理机HBase

这阶段我们将IDC的hadoop集群迁移到阿里云上,新买了阿里云的HBase集群用来替换原先CDH中的HBase集群。IDC机房迁移到阿里云主要基于以下几点来考虑:

  • IDC机房里因为所有的组件都部署在相同服务器上,会导致资源间相互竞争,各组件运行相互影响的情况,对组件所使用的资源进行隔离,但发现效果不理想。
  • 我们核算了下,发现在5年内IDC自建机房的费用比用阿里云的服务器要贵很多。
  • 迁移到阿里云后,我们所有的系统和服务都处于同一个内网环境,网络质量要比原先的走公网专线更有保障。

这个阶段hbase的配置是8核32G 4节点 200G 4 4 SSD存储,预估支撑20万的qps访问,目前大概存储了600G数据,集群的qps在峰值时能达到10万左右。

阶段三:优化改造,保障极致读取时延

由于HBase基于java虚拟机原生机制问题,业务系统在读取HBase数据时,由于GC会导致读取抖动到100-200ms,对于广告推荐系统来说,一次广告推荐要求在200ms内完成,这样的抖动显然是不能接受的,咨询过阿里云HBase同学后,我们对系统进行了如下改造:

  1. 业务上增加延迟控制,读取HBase超过100ms,直接断开,业务上走降级方式,随机推荐广告。
  2. 业务拆分,新买一个HBase集群,只开放给对延迟要求高的业务使用。将一些对延迟要求高的业务迁移过去,迁移后,延迟抖动从原先的千分之二,降低到万分之六,延迟情况得到改善。

另外据阿里HBase的同学介绍,阿里云近期会推出的HBase 2.0,在架构级别做了优化,会从根本上解决由于Java GC机制导致的延迟抖动,非常期待。

总结

总体来说,阿里云HBase是非常优秀的。也感谢阿里云技术同学,帮我们解决了底层系统的运维和性能调优,保证了底层系统的稳定,使我们可以更加专注的服务业务,帮助业务发展的更快。

相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
29天前
|
运维 Java Devops
阿里云云效操作报错合集之在进行GitLab代码分支迁移时遇到报错,一般是什么原因
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
10天前
|
弹性计算 Linux 网络安全
使用阿里云服务器迁移中心SMC将其他云平台业务迁移至阿里云教程参考
现在越来越多的个人和企业用户选择将其他云平台或者服务商的业务迁移到阿里云,但是如何快速且安全完成迁移是很多用户比较关注的问题,我们可以选择使用阿里云提供的服务器迁移中心(Server Migration Center,简称SMC),这个产品是阿里云提供给您的迁移平台,专注于提供能力普惠、体验一致、效率至上的迁移服务,满足您在阿里云的迁移需求。本文为大家展示使用阿里云服务器迁移中心SMC将其他云平台业务迁移至阿里云的教程,以供参考。
使用阿里云服务器迁移中心SMC将其他云平台业务迁移至阿里云教程参考
|
9天前
|
弹性计算 Prometheus 监控
如何从自建开源 Prometheus 迁移到阿里云托管 Prometheus 服务
阿里云可观测监控 Prometheus 版提供高性能、高可用、全托管的监控服务,对接开源生态,支持 Kubernetes、ECS 等场景,解决了自建 Prometheus+Thanos 高成本、运维复杂的问题。本文讨论在各个典型场景下的迁移方案。
10312 12
|
29天前
|
持续交付 开发工具 git
阿里云云效产品使用问题之在云效代码域中gitlab使用docker安装的,迁移时遇到“获取企业信息失败”,是什么原因
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
29天前
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用问题之如何在新版本的云效上迁移老版本的流水线
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
阿里云云效产品使用问题之如何在新版本的云效上迁移老版本的流水线
|
9天前
|
敏捷开发 Java 测试技术
阿里云云效产品使用合集之流水线、应用和项目集该如何迁移
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
9天前
|
敏捷开发 JSON 缓存
阿里云云效产品使用合集之如何将已有私库迁移至云效私库
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
1月前
|
SQL 人工智能 API
openai停止中国的api服务,但是性能相当的阿里云免费提供迁移
OpenAI暂停中国API服务,阿里云百炼响应迅速,提供免费tokens(2200万)与迁移服务给受影响开发者。Qwen2-72B与GPT-4同列全球第四(HELM MMLU榜)。Qwen-plus调用成本仅GPT-4的1/50。阿里云百炼以开放性著称,兼容LlamaIndex等,支持多种数据源及自定义组件,加速AI应用集成。官网有丰富资源,助力快速上手大模型开发。
113 0
|
19天前
|
SQL 负载均衡 安全
阿里云DTS踩坑经验分享系列|全量迁移加速方法指南
阿里云数据传输服务DTS是一个便捷、高效的数据迁移和数据同步服务。一般而言,一个完整的DTS数据迁移任务主要包括预检查、结构迁移,全量迁移,增量迁移等阶段,其中全量迁移会将源数据库的存量数据全部迁移到目标数据库。面对各种各样的用户场景, 本文将重点介绍如何使用阿里云DTS实现全量数据迁移加速,以缩短迁移时间,确保数据迁移的效率和稳定性。
167 0
|
29天前
|
敏捷开发 Kubernetes 网络安全
阿里云云效产品使用问题之代码从一个账号迁移到另一个账号(从一个企业迁移到另一个企业),该如何迁移
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。