HBase高可用集群运维实践

简介:

随着越来越多的业务选择HBase作为存储引擎,对HBase的可用性要求也越来越高,对于HBase的运维也提出了新的挑战。目前运维集群超过30+,而且接入的业务类型繁多,对于性能要求也不完全一样,这是今年面临的问题。从15年开始,结合京东的业务情况,基于大数据平台,实现用户接入使用全流程自动化。而今年,我们主要从集群层面上提升集群可用性。

1.控制隔离——rsgroup

在94版本中,经常困扰我们的一个问题就是集群上的某些机器会因为某些用户的不恰当操作,例如热点问题,大量的scan操作等导致机器上的其他表正常读写受到影响。之前的运维经验,一般的做法就是stop balance,然后通过move region的方式把有影响的表移到某些机器上。由于存在这个原因和业务的压力,往往只能采用拆分集群的方式,在一个HDFS 上往往运行几个HBase集群,但是带来的是运维成本的增加。

今年618之前,在我们决定采用新版本之后,我们将HBase 2.0 尚未发布的rsgroup功能迁移到我们的自己维护的1.1.X版本中,从而实现在HBase集群上隔离和控制。整个架构如下:

最后我们把分组功能接入了BDP运维平台。DBA在配置实例的时候,根据业务选择不同的分组。通过rsgroup 解决拆分集群问题,可运维性也得到了提升。另外,不同于之前的平滑滚动重起,动不动就需要几天,我们也通过移动分组的方式进行集群滚动从而缩短维护时间。考虑到不同分组的replication可能会产生影响,我们也开发不同分组的replication功能,主集群的日志只能发送到备份集群的同一个分组的regionserver中。在集群页面上,我们也添加不同分组统计,效果如下:

2.异地容灾——replication

HDFS提供了三个备份的功能,但是对于重要的业务还远远不够。HBase本身的replication功能可以实现集群间秒级的数据同步,而且整个replication的过程是异步化,对于主集群几乎没有影响。考虑业务的重要性,在新版本的集群配置了集群间的主主同步。如果机房出现问题或者主集群异常短时间无法恢复,那么用户可以切换到备份集群。

由于采用实例来管理集群,所以DBA配置的时候可以选择实例是否进行主备以及集群:增加备份集群之后,我们把所有需要抽取的表从主集群改成为备份集群,这样对于大量的抽取可以减少对主集群的影响。

目前集群的数据,除了用户普通的写入之外,还有采用bulkload的方式入库,不同用户在不同的集市生成HFile导入到HBase中。针对这种情况,我们把2.0 版本的HBASE-13153(Bulk Loaded HFile Replication)打进到我们的版本中,实现了HFile的replication。

最终通过replication实现数据的备份和聚合,这样在用户申请实例的时候,可以选择不同的套餐组合。例如只需要实时数据存储,可以选择主主备份,需要离线分析的可以选择主备同步到离线分析集群。

3.资源限制——配置quotas

虽然rsgroup 起到了隔离功能,HBase本身读写队列分离,但是同个分组的表还会互相影响,而且京东这么多业务部门,不可能都独立分组。HBase1.0 发布了一个针对读写进行限制的功能——配额管理。使用配额管理做到对namespace和table 的rpc请求的限制,目前是限制读写次数和流量。

这个功能很适合我们,作为底层提供者,很大程度上我们没有办法预估用户的所有情况,在运维过程中,经常有用户出现热点问题导致单台服务的请求量过高从而影响到了其他表的读写。我们针对实例,也就是表空间的请求进行限制,这就需要用户在申请的时候衡量资源了。

通过配额,我们可以做到对集群的资源整体把控。唯一的遗憾是当前HBase的quotas 只能限制单台的ReginServe。目前配额管理功能在开发集成自动化配置流程当中,预计年后上线。


本文作者:zengweizhan

来源:51CTO

相关文章
|
2月前
|
数据采集 运维 数据可视化
AR 运维系统与 MES、EMA、IoT 系统的融合架构与实践
AR运维系统融合IoT、EMA、MES数据,构建“感知-分析-决策-执行”闭环。通过AR终端实现设备数据可视化,实时呈现温度、工单等信息,提升运维效率与生产可靠性。(238字)
|
3月前
|
存储 运维 安全
运维知识沉淀工具深度解析:从结构设计到落地实践全拆解
运维知识沉淀工具助力团队将零散经验结构化存储,实现问题处理路径标准化、知识复用化。通过标签、模板与自动化调取机制,让每次处理都留下可复用资产,提升团队协同效率与系统稳定性。
|
2月前
|
机器学习/深度学习 人工智能 运维
三重Reward驱动的运维智能体进化:多智能体、上下文工程与强化学习的融合实践
这篇文章系统性地阐述了 AI 原生时代下,面向技术风险领域的智能体系统(DeRisk)的架构设计、核心理念、关键技术演进路径与实践落地案例。
三重Reward驱动的运维智能体进化:多智能体、上下文工程与强化学习的融合实践
|
4月前
|
运维 监控 负载均衡
高效运维实践:常见问题的应对策略与实践经验
本文探讨了运维工作中的五大核心挑战及应对策略,涵盖负载均衡优化、数据库性能提升、系统监控预警、容器化与微服务运维等方面,旨在帮助企业提升系统稳定性与运维效率。
|
8月前
|
数据采集 机器学习/深度学习 人工智能
智能运维在IT管理中的实践与探索
【10月更文挑战第21天】 本文深入探讨了智能运维(AIOps)技术在现代IT管理中的应用,通过分析其核心组件、实施策略及面临的挑战,揭示了智能运维如何助力企业实现自动化监控、故障预测与快速响应,从而提升整体运维效率与系统稳定性。文章还结合具体案例,展示了智能运维在实际环境中的显著成效。
449 133
|
4月前
|
运维 监控 安全
从实践到自动化:现代运维管理的转型与挑战
本文探讨了现代运维管理从传统人工模式向自动化转型的必要性与路径,分析了传统运维的痛点,如效率低、响应慢、依赖经验等问题,并介绍了自动化运维在提升效率、降低成本、增强系统稳定性与安全性方面的优势。结合技术工具与实践案例,文章展示了企业如何通过自动化实现运维升级,推动数字化转型,提升业务竞争力。
|
8月前
|
弹性计算 运维 监控
基于进程热点分析与系统资源优化的智能运维实践
智能服务器管理平台提供直观的可视化界面,助力高效操作系统管理。核心功能包括运维监控、智能助手和扩展插件管理,支持系统健康监控、故障诊断等,确保集群稳定运行。首次使用需激活服务并安装管控组件。平台还提供进程热点追踪、性能观测与优化建议,帮助开发人员快速识别和解决性能瓶颈。定期分析和多维度监控可提前预警潜在问题,保障系统长期稳定运行。
349 17
|
8月前
|
运维 自然语言处理 Cloud Native
云栖实录 | 智能运维年度重磅发布及大模型实践解读
云栖实录 | 智能运维年度重磅发布及大模型实践解读
411 0
|
6月前
|
分布式计算 Ubuntu Hadoop
Ubuntu22.04下搭建Hadoop3.3.6+Hbase2.5.6+Phoenix5.1.3开发环境的指南
呈上,这些步骤如诗如画,但有效且动人。仿佛一个画家在画布上描绘出一幅完美的画面,这就是你的开发环境。接下来,尽情去创造吧,祝编程愉快!
437 19

热门文章

最新文章

下一篇
oss云网关配置