关键词:hbase jvm gc regionserver wal pause

背景:

HBase 1.1.2

客户的hbase集群最近出现RegionServer宕机情况。跟踪了master和RS日志发现,RS端抛出在做wal flush的时候,找不到 /apps/hbase/data/WALs/host,16020,timestamp 这个目录,由Parent directory doesn't exist 导致了 cannot get log writer,从而 RS abort。

master日志发现,找不到的那个log文件在上午11点的时候 被archive到oldWALs里,而且注意rs的wal目录带有splitting后缀。

-- ::, INFO  [main-EventThread] wal.WALSplitter: Archived processed log hdfs://wgzx/apps/hbase/data/WALs/hdp034.wgzx,16020,1494436736930-splitting/hdp034.wgzx%2C16020%2C1494436736930.default.1497667888987 to hdfs://wgzx/apps/hbase/data/oldWALs/hdp034.wgzx%2C16020%2C1494436736930.default.1497667888987
-- ::, DEBUG [hdp013.wgzx,,1494436739211_ChoreService_1] master.ReplicationLogCleaner: Didnt find this log in ZK, deleting: hdp034.wgzx%2C16020%2C1494436736930.default.

rs日志发现11点到16点中间没有日志,卡在了jvm pause,16点后开始flush11点被master delete的日志,宕机。


分析:

基本可以确定RegionServer就是不知为何卡住(不能确定是full gc),被stop-the-world了,然后master得不到RS的响应,以为它挂了,于是开始rename其WAL directory,做log split。(splitting后缀表示log split,表示master认为rs挂了) 然后rs起来打算继续11点时pause的工作,结果wal目录都没了,宕机。

卡顿几小时,而且printGCDetails的正常的gc日志也没打出来,让我们十分怀疑是不是真的是因为gc引起的,因为20g堆内+20g堆外也不算很大,就算gc性能再低,也不至于卡几小时。咨询了几位外部专家,表示都怀疑可能是遇到系统内核或jvm的bug了。但/var/log/message下异常当天没发现异常日志。

系统内核在CentOS 6.6 有个内核版本的bug,会导致进程卡死 : https://groups.google.com/forum/#!topic/mechanical-sympathy/QbmpZxp6C64 。但我们的是 Cent 6.7,在列表里明确表示是解决了这个bug的。

目前暂无法得知原因,而且在这个集群的HBase貌似是会偶尔出现这种情况,不止一台机器。我们内部集群HBase配置基本一样,反而没遇到过这类问题。

后续更新:

后来运维自己发现自己由于年初某一次故障,写了个定时去对regionServer做jmap的脚本(而且间隔时间据说只有分钟级)。把这个脚本去掉后貌似持续了半个多月再也没发生过问题。。。虽然jmap会触发fullGC,但是讲道理也不应该出现卡这么久,不知道是不是人为触发STW太频繁导致JVM产生了什么bug。

HBase RegionServer Pause for hours 卡顿几小时 故障的更多相关文章

  1. 解决由于显卡驱动BUG导致桌面右键卡顿的问题:bat文件源码

    @ ECHO OFF%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe&q ...

  2. 一次spark卡顿分析

    在104上面执行,经常会发生卡到了如下一句话: storage.BlockManagerInfo: Added broadcast_8_piece0 当再次卡顿的时候,我直接退出,然后通过yarn看后 ...

  3. 使用WaveOut API播放WAV音频文件(解决卡顿)

    虽然waveout已经过时,但是其api简单,有些时候也还是需要用到. 其实还是自己上msdn查阅相应api最靠谱,waveout也有提供暂停.设置音量等接口的,这里给个链接,需要的可以自己查找: h ...

  4. xamarin MasterDetailPage点击Master时卡顿现象

    在很多项目中经常会使用到MasterDetailPage的布局方式,而且一般做为主页面来开发,在开发中,发现一个并不算Bug的问题,但是却发生了,以此记录下来,方便大家探讨. 现象是这样的,我开发了一 ...

  5. UITableView cell复用出错问题 页面滑动卡顿问题 & 各杂七杂八问题

    UITableView 的cell 复用机制节省了内存,但是有时对于多变的自定义cell,重用时会出现界面出错(例如复用出错,出现cell混乱重影).滑动卡顿等问题,这里只简单敲下几点复用出错时的解决 ...

  6. 解决UINavigationController在pushViewController时出现的"卡顿"问题

    进行开发中,遇到了个小问题: 在使用UINavigationController的-pushViewController:animated:执行入栈一个子控制器操作时(即最新栈顶子控制器),会出现推出 ...

  7. webstorm卡顿问题

    近期随着项目开展,文件逐渐增大,webstrom频繁出现卡顿,而且时有崩溃现象,提示没有足够的内存来执行请求的操作,需要增加Xms设置. 解决办法: 1.找到WebStorm.exe.vmoption ...

  8. CSS3 速移动效果动画流畅无卡顿

    js或jquery 元素移动以像素计算,手机上移动效果会有卡顿 利用CSS3 可以很简单的实现流畅的移动动画 transform: translate3d(66px, 88px, 0px) rotat ...

  9. 第3月30天 UIImage imageWithContentsOfFile卡顿 Can't add self as subview MPMoviePlayerControlle rcrash

    1. UIImage imageWithContentsOfFile卡顿 [[UIImage alloc] initWithContentsOfFile 卡顿 2.uitableview scroll ...

随机推荐

  1. Python动态语言的特性

    一.动态语言相关概念 1.1 动态语言 在运行时代码可以根据某些条件改变自身结构 可以在运行时引进新的函数.对象.甚至代码,可以删除已有的函数等其他结构上的变化 常见的动态语言:Object-C.C# ...

  2. VUE-Windows系统下搭建vue环境

    一.安装node.js(https://nodejs.org/en/) 下载完毕后,可以安装node,建议不要安装在系统盘(如C:).注意记下路径..   此处默认安装这4项即可,点击Next按钮. ...

  3. python之路(2)集合(set)和字符串格式化

    目录 集合(set) 字符串的格式化(%和format) 集合(set) {‘a’,'b','c','d','e'} 定义:有不同元素组成的集合,集合的元素为不可变类型(数字,字符串,元组),集合是一 ...

  4. Generator和Coroutine学习

    简单的生产者消费者模型 #!/usr/bin/python2.7 def consumer(): while True: newn = yield print 'Consumer : {}'.form ...

  5. Java 基础知识点

    很多 Java 基础的东西都忘记了, 有必要再复习一些基本的知识点. 本文主要参考 https://github.com/Snailclimb/JavaGuide ================== ...

  6. Spark Java API 计算 Levenshtein 距离

    Spark Java API 计算 Levenshtein 距离 在上一篇文章中,完成了Spark开发环境的搭建,最终的目标是对用户昵称信息做聚类分析,找出违规的昵称.聚类分析需要一个距离,用来衡量两 ...

  7. Java String相关

    一.String类的常用方法 1. int indexOf(String s) 字符串查找 2. int lastIndexOf(String str) 3. char charAt(int inde ...

  8. 机器学习爱好者 -- 翻译吴恩达老师的机器学习课程字幕 http://www.ai-start.com/

    机器学习爱好者 -- 翻译吴恩达老师的机器学习课程字幕 GNU Octave    开源  MatLab http://www.ai-start.com/ https://zhuanlan.zhihu ...

  9. 通过fiddler和逍遥模拟器模拟抓包android手机

    环境说明 Fiddler/逍遥手机模拟器 安装在10.11.0.148的电脑中 逍遥模拟器会自动生成wifi连接到 10.11.0.148上网 开启https: 在模拟器中打开 http://代理:8 ...

  10. SQL Server2016安装

    VS2017已经发布10多天了,这几天正好要重新做系统.所以想着把SQL Server和VS都做一次升级.VS2017只需要下载一个安装包就可以进行在线安装.但是SQL Server2016安装时会碰 ...