HBase 如何减少升级时重启rs节点造成的影响
最近被问到这个问题,一时没有很好的回答,事后仔细思考了下,整理如下。
rs节点重启对于应用的影响可分为如下2个阶段:
- region不可用
- region读取慢
不可用的优化
从rs停止到各个region重新上线前都处于不可用阶段,其中包含了master感知到有rs退出,进而调度执行scp的过程,详细的过程可以参考我的另外一篇文章《HBase2.0 regionServer退出处理流程》,尤其是末尾链接中的详细流程图;
而不可用阶段最为耗时的部分应该是scp的执行阶段,其核心部分伪代码如下:
if(carryingMeta) { split meta log; assign meta region; wait meta loaded; } split log; assign reigons;
因此减少不可用的时间主要就是简化上述过程,可用的手段有如下2个:
- 重启rs前先执行flush,从而减少split log以及后续replay log所需的时间;
- 重启rs前先把region move到其它节点去,这个方法需要获取region信息并且要自己指定目标节点,稍微麻烦一些,但是效果更彻底,因为完全不受scp执行时间影响,不可用时间缩减到1个ap的时间;
还有就是利用region replica特性,在主region不可用阶段,也能够利用副本提供读服务,这个方法的缺点,1是副本要消耗额外的io和内存资源,2是写请求依然不可用;
读取慢的优化
读取慢的原因,1是在新的rs上region的locality很可能会降低,2是blockcache是空的;
locality的问题,正常情况下在rs重启完成后,balancer会基于locality的考虑将region迁移回原rs,但由于balance的过程还受其它因素影响,所以也并不必然,因此还是主动move更好一些;
如果已将自动balance关闭, 那主动move回原节点就是自然而然的了;
blockcache的问题,可以考虑在rs停止前将其保存在本地磁盘上,重新启动时进行加载,印象中之前看过一篇分享文章中提到过这个优化;
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Flink Weekly | 每周社区动态更新-20200429
大家好,本文为 Flink Weekly 的第十四期,由李本超整理,伍翀 Review。本期主要内容包括:近期社区开发进展、邮件问题答疑、Flink 最新社区动态及技术文章推荐等。 Flink 开发进展 1.Release ■ Dian Fu 宣布 1.9.3 发布。 [1]http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/ANNOUNCE-Apache-Flink-1-9-3-released-td40730.html ■ Yu Li 发起了 1.10.1 RC1 的投票。 [2]http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/VOTE-Release-1-10-1-release-candidate-1-td40724.html ■ Piotr Nowojski 和 Zhijiang 同步了一下 1.11 的开发进度。 [3]http://apache-flink-mailing-list-archive.1008284.n3.n...
- 下一篇
关于RESTful
一、概述 很长时间以来,软件和Web App最大的差异是离线操作,移动端的原始开发和pc端的PWA,使得这一差异越来越小。 二、RESTful RESTful,(资源 URI)表现层状态转换架构,现在的Web App开发都是基于该架构模式。 Web App主要由3部分组成:客户端、网络端、服务端。 1. 客户端,用于资源的展示和发送资源状态转换的动作。 2. 网络端,在指定规则下转达资源状态转换的动作。目前只能是HTTP、WebSocket协议,WebSocket的主要优势是shaun双向通信(服务端也能向客户端推送数据)。 3. 服务端,用于处理资源状态转换的动作。 三、总结 定义了Web App的架构,接下来便是三个部分的实现,如:通过JavaScript、PHP等实现客户端,Java、node等实现服务端,再基于浏览器共同实现网络端。 不同的端也会有自己的架构设计,整个Web App可以看做是复数个架构的有序嵌套组合的具体实现。RESTful便是Web App的顶层架构。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长