当前位置: 首页 > news >正文

HBase工具之监控Region的可用和读写延时状况

1、介绍 HBase集群上region数目由于业务驱动而越来越多,由于服务器本身,网络以及hbase内部的一些不确定性bug等因素使得这些region可能面临着不可用或响应延时情况。通过对region的监控,也可以反映出hdfs集群的状况


2、工具
org.apache.hadoop.hbase.tool.Canary 监控Region的可用和读写状况
Usage: bin/hbase org.apache.hadoop.hbase.tool.Canary [opts] [table 1 [table 2...]]
where [opts] are:
   -help          Show this help and exit.
   -daemon        Continuous check at defined intervals.
   -interval <N>  Interval between checks (sec)

例如:执行${HBASE_HOME}/bin/hbase org.apache.hadoop.hbase.tool.Canary day_hotstatic   结果信息如下:
read from region day_hotstatic,860010-2061300100_20131109_10_visit_00000027262,1386598604054.22af453addaff05464e585e7d148987b. column family c in 4ms read from region day_hotstatic,860010-2061300100_20131201_2_exit_00000012418,1387389193938.9d19cd65ac9f9c3c2a04911cb73cfef7. column family c in 0ms


原理:它默认会取出Region的startKey,按照ColumnFamily分别执行一次Get操作,并打印出系统的延迟。对于Region出问题的情况下,会打印出failed的状态。


2、不足
1)无法提供Region服务异常的实时报警。
2)未提供对于延迟的监控与报警。

基于此,我们就可以添加相应的报警功能,找出延迟超过最高限或者Region有问题的Table,并通过邮件或者message及时告警。
在出现hfile文件无法seek或者Region offline的情况下,通过HBaseAdmin.assign(regionName)接口重新部署一次Region,这样可以避免:
①.Region上storefile不一致(与hdfs上region显示不一样),在compaction异常或者split过程中。通过重新assign下可以重新加载这部分数据
②.Region处于Offline状态,比如regionserver宕机,集群负载均衡等过程中region offline等

转载于:https://www.cnblogs.com/dailidong/p/7571262.html

相关文章:

  • AppStore占坑注意事项
  • 删除.gitignore中的在version control中的文件
  • ios之coredata(一)
  • Understanding CSS Filter Effects
  • 图像处理-缩放-平移旋转等等
  • 2012蓝桥杯【初赛试题】干支纪年
  • C语言初学者代码中的常见错误与瑕疵(14)
  • Stimulsoft Reports报表工具的三种编译方式
  • Xcode ARC详解全攻略
  • PCMM(人力资源能力成熟度模型)V2.0中英对照版发布
  • cocos2d-html5在cocos2d-x里面打包编译
  • WPF 使用定时器
  • xendesktop配置DDC连接vcenter,添加vcenter证书步骤。
  • jquery easyui datebox单击文本框显示日期选择
  • 驱动开发:ctrl+space映射到win+space[转]
  • CentOS 7 防火墙操作
  • Java 多线程编程之:notify 和 wait 用法
  • oldjun 检测网站的经验
  • vue学习系列(二)vue-cli
  • Zepto.js源码学习之二
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 解析 Webpack中import、require、按需加载的执行过程
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 我建了一个叫Hello World的项目
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • kubernetes资源对象--ingress
  • Linux权限管理(week1_day5)--技术流ken
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • #define与typedef区别
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (2022 CVPR) Unbiased Teacher v2
  • (C语言)球球大作战
  • (ibm)Java 语言的 XPath API
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (南京观海微电子)——COF介绍
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • (转)scrum常见工具列表
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • .java 9 找不到符号_java找不到符号
  • .net mvc 获取url中controller和action
  • .NET 中 GetProcess 相关方法的性能
  • .Net转Java自学之路—SpringMVC框架篇六(异常处理)
  • [ CTF ] WriteUp-2022年春秋杯网络安全联赛-冬季赛
  • [Angular] 笔记 16:模板驱动表单 - 选择框与选项
  • [BT]BUUCTF刷题第9天(3.27)
  • [C/C++]数据结构 栈和队列()
  • [C++]高精度 bign (重载运算符版本)
  • [Google Guava] 1.1-使用和避免null
  • [HackMyVM]靶场Crossbow