HBase RegionServer Pause for hours 卡顿几小时 故障
关键词: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 卡顿几小时 故障的更多相关文章
- 解决由于显卡驱动BUG导致桌面右键卡顿的问题:bat文件源码
@ ECHO OFF%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe&q ...
- 一次spark卡顿分析
在104上面执行,经常会发生卡到了如下一句话: storage.BlockManagerInfo: Added broadcast_8_piece0 当再次卡顿的时候,我直接退出,然后通过yarn看后 ...
- 使用WaveOut API播放WAV音频文件(解决卡顿)
虽然waveout已经过时,但是其api简单,有些时候也还是需要用到. 其实还是自己上msdn查阅相应api最靠谱,waveout也有提供暂停.设置音量等接口的,这里给个链接,需要的可以自己查找: h ...
- xamarin MasterDetailPage点击Master时卡顿现象
在很多项目中经常会使用到MasterDetailPage的布局方式,而且一般做为主页面来开发,在开发中,发现一个并不算Bug的问题,但是却发生了,以此记录下来,方便大家探讨. 现象是这样的,我开发了一 ...
- UITableView cell复用出错问题 页面滑动卡顿问题 & 各杂七杂八问题
UITableView 的cell 复用机制节省了内存,但是有时对于多变的自定义cell,重用时会出现界面出错(例如复用出错,出现cell混乱重影).滑动卡顿等问题,这里只简单敲下几点复用出错时的解决 ...
- 解决UINavigationController在pushViewController时出现的"卡顿"问题
进行开发中,遇到了个小问题: 在使用UINavigationController的-pushViewController:animated:执行入栈一个子控制器操作时(即最新栈顶子控制器),会出现推出 ...
- webstorm卡顿问题
近期随着项目开展,文件逐渐增大,webstrom频繁出现卡顿,而且时有崩溃现象,提示没有足够的内存来执行请求的操作,需要增加Xms设置. 解决办法: 1.找到WebStorm.exe.vmoption ...
- CSS3 速移动效果动画流畅无卡顿
js或jquery 元素移动以像素计算,手机上移动效果会有卡顿 利用CSS3 可以很简单的实现流畅的移动动画 transform: translate3d(66px, 88px, 0px) rotat ...
- 第3月30天 UIImage imageWithContentsOfFile卡顿 Can't add self as subview MPMoviePlayerControlle rcrash
1. UIImage imageWithContentsOfFile卡顿 [[UIImage alloc] initWithContentsOfFile 卡顿 2.uitableview scroll ...
随机推荐
- ACM-ICPC 2018 徐州赛区网络预赛 J Maze Designer(最大生成树+LCA)
https://nanti.jisuanke.com/t/31462 题意 一个N*M的矩形,每个格点到其邻近点的边有其权值,需要构建出一个迷宫,使得构建迷宫的边权之和最小,之后Q次查询,每次给出两点 ...
- LFYZ-OJ ID: 1008 求A/B高精度值
思路 小数点前的部分可以通过m/n直接计算得出 小数点后的20位可通过循环进行快速计算,计算方法如下: m%=n m*=10 小数点后第i位为m/n,回到第1步 第3步后,如果m%n为0,说明已经除净 ...
- 解决 IIS 反向代理ARR URLREWRITE 设置后,不能跨域跳转 return Redirect 问题
1.选择iis根节点,点击ARR 2.选择代理设置 3.去掉reverse rewrite host in response headers的勾选,点击应用即可
- n对n
创建一对一的关系:OneToOne("要绑定关系的表名") 创建一对多的关系:ForeignKey("要绑定关系的表名") 创建多对多的关系:ManyToMan ...
- 锁定表头和固定列(Fixed table head and columns)
源码: /// <summary> /// 锁定表头和列 /// <para> sorex.cnblogs.com </para> /// </summary ...
- 阿里的fastJson.jar jsonArray 和 list 互转
阿里的fastJson.jar: //list转换为json List<CustPhone> list = new ArrayList<CustPhone>(); String ...
- idea一款颜值很高的theme
在idea的plugins搜索theme,能看到一款人气值超高的插件,下载使用了确实很漂亮!
- 网络学习day02_OSI七层模型及数据的传输过程
title: 2018.9.2 OSI七层模型及数据的传输过程 tags: 计算机网络, OSI七层模型, 数据传输, 数据解封装 --- OSI七层模型和TCP/IP五层模型 OSI七层模型 我们说 ...
- html 超链接标签 锚点 a标签伪类
一个简易的连接 <a href="01.html">01</a> <body> <a href="01.html" t ...
- android dialog设置全屏半透明背景色
style代码如下: <style name="theme_dialog" parent="@android:style/Theme.Dialog"> ...