首页 > 其他分享 >HBase存储空间撑爆导致拒绝服务的问题解决思路与操作方法记录

HBase存储空间撑爆导致拒绝服务的问题解决思路与操作方法记录

时间:2023-03-02 20:13:46浏览次数:58  
标签:拒绝服务 hdfs regionserver HBase data hbase 存储空间 日志

时间:2022年3月29日;

问题:tmss数据源切换完成后,源表数据将HBase集群内节点的存储空间撑爆,导致HBase集群内节点拒绝服务;

修复:

  1. 查询HDFS占用空间情况:hdfs dfs -df -h
  2. 确认是否是HBase表占用的空间比较大:hdfs dfs -du -s -h /apps/hbase/data/data/default/
  3. 如果是,查出占用空间最大的10张表:hdfs dfs -du /apps/hbase/data/data/default/ |sort -n |tail -10
  4. 检查写这些表的任务最近是否有改动,或占用空间增长速度异常;
  5. 恢复/停止有关任务调度;
  6. 删除空间占用大 & 可尽快恢复 & 业务优先级低) 的表$TAB2DEL:
    a. 优先使用hbase shell命令清空表:truncate $TAB2DEL
    b. 如果hbase shell因为硬盘爆满已经无法执行命令清空表,只能手动从hdfs删除:hdfs dfs -rm /apps/hbase/data/data/default/$TAB2DEL(谨慎使用,这种方法删除得并不干净,可能会引发其它莫名其妙的bug);
  7. 空间释放后,理想情况下服务应该会逐渐恢复;
  8. 如果15min后还未恢复,可以在界面上尝试重启HBase服务:
  9. 起来后如果HBase Master都是Standby状态,考虑可能HBase Region Server启动失败:
    a. 找到Region Server的日志文件 find / -name '*regionserver*.log'
    b. 找到Region Server的日志文件 find / -name '*regionserver*.log'
    c. 检查日志,看到重复打印告警日志:
    d. 2022-03-29 13:18:36,600 INFO [regionserver/SHA1000177455:16020] regionserver.HRegionServer: reportForDuty to master=sha1000177440.huawei.com,16000,1648528543002 with port=16020, startcode=1648528545679
    e. 2022-03-29 13:18:36,601 WARN [regionserver/SHA1000177455:16020] regionserver.HRegionServer: reportForDuty failed; sleeping and then retrying.
    f. 是WAL日志太多导致Master启动失败,可以通过清理日志+重启HBase服务解决:hdfs dfs -rm -r /apps/hbase/data/MasterProcWALs/pv*;参考
  10. 由于HBase挂死了一天,可能是积累了很多数据同步任务,导致调用队列溢出报错:ERROR: Call queue is full on sha1000177440.huawei.com,16000,1648456409137, too many items queued ?,考虑重启所有调度任务datalink、调度框架azkaban以及Hbase服务,清空调用队列;
    至此,HBase明显的异常都得以解决,中间还遇到一些其它问题也顺便解决了

标签:拒绝服务,hdfs,regionserver,HBase,data,hbase,存储空间,日志
From: https://www.cnblogs.com/LexLuc/p/17173216.html

相关文章

  • 高性能存储架构---HBase
    关系型数据库的瓶颈海量数据的高效率读写网站每天产生的数据量是巨大的,对于关系型数据库来说,需要进行主从复制、分库分表、垂直/水平拆分等处理来支持海量数据的存储与查......
  • Hbase学习三:Hbase常用命令总结
    转载请注明出处:1.Hbase连接1.1.进入hbase命令行hbaseshell#或bin/hbaseshell1.2.查看帮助help1.3.查看所有表list2.表操作2.1.创建表create'user'......
  • 解决python 操作 hbase报错:TTransportException(type=4,message=’TSocket read 0 byt
    ```text#解决报错:hbase报错TTransportException(type=4,message=’TSocketread0bytes’)这种情况一般协议问题和服务端没开启,如果服务端是开启的,且正常的.那么考虑协......
  • Hbase学习二:Hbase数据特点和架构特点
    转载请注明出处:1.Hbase数据特点大:一个表可以有上亿行,上百万列。面向列:面向列表(簇)的存储和权限控制,列(簇)独立检索。稀疏:对于为空(NULL)的列,并不占用存储空间,因此,表......
  • Hbase一:Hbase介绍及特点
    转载请注明出处:1.Google的三篇论文2003年,Google发布GoogleFileSystem论文,(GFS)这是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的......
  • SQuirrel client UI 操作hbase 及 spark with phoenix 写hbase 遇到的一些问题总结
    1:在SQuirrel里如果创建table的时候,不指定namespace,则表是创建在default空间的,在UI上无法看到,但是在phoenixsqlline命令行可以看到,如下表LOT7  2:phoenixsql里,如果......
  • 【转】HBase最佳实践-内存规划
    [hbasefly]HBase最佳实践-内存规划HBase最佳实践-内存规划–有态度的HBase/Spark/BigData http://hbasefly.com/2016/06/18/hbase-practise-ram/线上HBase集群应该如何......
  • HBase--分布式列存储NOSQL数据库
        HBase本质上是一个数据模型,可以提供快速随机访问海量结构化数据。利用Hadoop的文件系统(HDFS)提供的容错能力。它是Hadoop的生态系统,使用HBase在HDFS......
  • Hive与HBase之间的区别和联系
    首先要知道Hive和HBase两者的区别,我们必须要知道两者的作用和在大数据中扮演的角色概念Hive1.Hive是hadoop数据仓库管理工具,严格来说,不是数据库,本身是不存储数据和处理数......
  • 轻松理解Hbase面向列的存储
    1.前言从严格的列式存储的定义来看,Hbase并不属于列式存储,有人称它为面向列的存储,请各位看官注意这一点。1.1行式存储传统的数据库是关系型的,且是按行来存储的。如下图......