分享

hbase regionserver下线

fanbells 发表于 2014-6-16 16:16:15 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 8 30661
1、查看hbase运行情况,发现regionserver服务下线了,查看log发现没有当前log文件,于是查看了master日志发现日志如下:
WARN org.apache.hadoop.hbase.master.SplitLogManager: Error splitting /hbase/splitlog/hdfs%3A%2F%2Fhn%3A9000%2Fhbase%2F.logs%2Ftest1%2C60020%2C1401714262892-splitting%2Ftest1%252C60020%25
2C1401714262892.1402660231289
2014-06-13 21:00:00,430 WARN org.apache.hadoop.hbase.master.SplitLogManager: error while splitting logs in [hdfs://hn:9000/hbase/.logs/test1,60020,1401714262892-splitting] installed = 2 but only 1 done
2014-06-13 21:00:00,431 INFO org.apache.hadoop.hbase.master.handler.MetaServerShutdownHandler: Splitting all logs for test1,60020,1401714262892
2014-06-13 21:00:00,430 ERROR org.apache.hadoop.hbase.executor.EventHandler: Caught throwable while processing event M_META_SERVER_SHUTDOWN
java.io.IOException: failed log splitting for test1,60020,1401714262892, will retry
        at org.apache.hadoop.hbase.master.handler.MetaServerShutdownHandler.process(MetaServerShutdownHandler.java:69)
        at org.apache.hadoop.hbase.executor.EventHandler.run(EventHandler.java:175)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
        at java.lang.Thread.run(Thread.java:662)
Caused by: java.io.IOException: error or interrupted while splitting logs in [hdfs://hn:9000/hbase/.logs/test1,60020,1401714262892-splitting] Task = installed = 2 done = 1 error = 1
        at org.apache.hadoop.hbase.master.SplitLogManager.splitLogDistributed(SplitLogManager.java:299)
        at org.apache.hadoop.hbase.master.MasterFileSystem.splitLog(MasterFileSystem.java:371)
        at org.apache.hadoop.hbase.master.MasterFileSystem.splitAllLogs(MasterFileSystem.java:341)
        at org.apache.hadoop.hbase.master.MasterFileSystem.splitAllLogs(MasterFileSystem.java:288)
        at org.apache.hadoop.hbase.master.handler.MetaServerShutdownHandler.process(MetaServerShutdownHandler.java:63)
        ... 4 more
有谁遇到过这种问题,希望得到帮助?

已有(8)人评论

跳转到指定楼层
yuwenge 发表于 2014-6-16 17:08:41
你看看这个文件,应该在分割的时候,出现问题了,hdfs://hn:9000/hbase/.logs/test1
应该分割两个,但是却只分割了一个。
如果你一直运行正常,但是就今天出问题了,你看看会不会硬件方面的问题。比如你的内存、网络、硬盘空间等
回复

使用道具 举报

fanbells 发表于 2014-6-16 18:06:07
yuwenge 发表于 2014-6-16 17:08
你看看这个文件,应该在分割的时候,出现问题了,hdfs://hn:9000/hbase/.logs/test1
应该分割两个,但是却 ...

以前都是运行正常的,我查看了master的日志,发现有Too many open files错误,我想原因是在分割的时候导致文件描述符太多,导致regionserver下线了,结果发生连锁反应,导致其他regionserver机器找不到数据块,最后造成了多台的regionserver下线了。
回复

使用道具 举报

yuwenge 发表于 2014-6-16 18:34:45
本帖最后由 yuwenge 于 2014-6-16 18:35 编辑
fanbells 发表于 2014-6-16 18:06
以前都是运行正常的,我查看了master的日志,发现有Too many open files错误,我想原因是在分割的时候导 ...

那就是内存的原因了。内存不断的增大,但是却得不到释放,内存满了,自然就死机了.这个应该是你们的程序的没有释放内存,造成这种情况。
回复

使用道具 举报

fanbells 发表于 2014-6-17 10:32:49
yuwenge 发表于 2014-6-16 18:34
本帖最后由 yuwenge 于 2014-6-16 18:35 编辑

那就是内存的原因了。内存不断的增大,但是却得不到释放 ...

我看了当天的内存使用情况和平时是一样的,并没有什么大的改变,可以排除内存问题.
回复

使用道具 举报

howtodown 发表于 2014-6-17 10:36:40
本帖最后由 howtodown 于 2014-6-17 10:38 编辑
fanbells 发表于 2014-6-17 10:32
我看了当天的内存使用情况和平时是一样的,并没有什么大的改变,可以排除内存问题.

你可以查查为什么会打开那么多文件
回复

使用道具 举报

灰太狼_V0 发表于 2014-6-17 11:53:52
如果是RS Too many open files,有可能是storefile太多了,需要调整compact参数。
进一步的有可能是某个region的storefile太多,哪个RS挂载这个region哪个RS就要倒霉。
解决时,可以disable一些表,然后逐个major compact,这样文件就少些了。
如果是master Too many open files,就得看具体原因了。看着应该是split log时RS挂了。
回复

使用道具 举报

fanbells 发表于 2014-6-17 14:37:35
灰太狼_V0 发表于 2014-6-17 11:53
如果是RS Too many open files,有可能是storefile太多了,需要调整compact参数。
进一步的有可能是某个re ...

是RegionServer出现了Too many open files错误,我看了一下所有的表加起来的regions也不过100左右,难道说是因为分布不均匀导致有些RegionServer机器上的regions多,结果在运行过程中,那台机器下线了,结果这个regions转移到了其他机器上,导致那台机器也出现了下线的情况。
回复

使用道具 举报

灰太狼_V0 发表于 2014-6-17 23:47:11
fanbells 发表于 2014-6-17 14:37
是RegionServer出现了Too many open files错误,我看了一下所有的表加起来的regions也不过100左右,难道 ...

哈,应该是在Q上解答你了~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条