立即注册 登录
About云-梭伦科技 返回首页

pig2的个人空间 https://www.aboutyun.com/?61 [收藏] [复制] [分享] [RSS]

日志

org.apache.hadoop.hbase.NotServingRegionException: Region is not online 错误总结

热度 2已有 13396 次阅读2014-5-16 04:34 | online

遇到了下面错误:
14/05/16 03:59:30 INFO master.MasterFileSystem: Log folder hdfs://master:8020/hbase/WALs/slave1,60020,1400183951986 belongs to an existing region server 14/05/16 03:59:30 INFO master.MasterFileSystem: Log folder hdfs://master:8020/hbase/WALs/slave2,60020,1400183952632 belongs to an existing region server 14/05/16 03:59:34 INFO catalog.CatalogTracker: Failed verification of hbase:meta,,1 at address=slave1,60020,1400174771092, exception=org.apache.hadoop.hbase.NotServingRegionException: org.apache.hadoop.hbase.NotServingRegionException: Region is not online: 1588230740 at org.apache.hadoop.hbase.regionserver.HRegionServer.getRegionByEncodedName(HRegionServer.java:2576) at org.apache.hadoop.hbase.regionserver.HRegionServer.getRegion(HRegionServer.java:3949) at org.apache.hadoop.hbase.regionserver.HRegionServer.getRegionInfo(HRegionServer.java:3366) at org.apache.hadoop.hbase.protobuf.generated.AdminProtos$AdminService$2.callBlockingMethod(AdminProtos.java:19789) at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2146) at org.apache.hadoop.hbase.ipc.RpcServer$Handler.run(RpcServer.java:1851) 14/05/16 03:59:34 INFO zookeeper.ZooKeeperNodeTracker: Unsetting hbase:meta region location in ZooKeeper 14/05/16 03:59:34 INFO master.AssignmentManager: Assigning hbase:meta,,1.1588230740 to slave1,60020,1400183951986 14/05/16 03:59:34 INFO master.RegionStates: Transitioned {1588230740 state=OFFLINE, ts=1400183974039, server=null} to {1588230740 state=PENDING_OPEN, ts=1400183974164, server=slave1,60020,1400183951986}
遇到这个错误原因有很多,这里总结整理一下:
可能原因1:
zookeeper引起的,通常这种情况往往是在你正在运行一个进程正在操作hbase数据库的时候,hbase进程被杀掉或hbase服务被停掉所引起的,如果是hbase自身管理的zookeeper
解决方法1:
可以将hbase的zookeeper目录下的文件全都删除掉,然后再重启hbase服务就可以了.
解决方法2:
检查一下是否只有master创建了zookeeper目录
注释:
配置zookeeper的的目录为属性hbase.zookeeper.property.dataDir

可能原因2:
数据损坏导致当前数据存放的regin无法使用,使用hadoop fsck检查是否有损坏块 


解决方案:
此时使用hadoop fsck 进行分析 就能看到CORRUPT 的storefile路径 hadoop fs -rm 当前storefile




路过

雷人

握手

鲜花

鸡蛋

发表评论 评论 (4 个评论)

回复 韩克拉玛寒 2015-5-20 18:15
楼主,有点不是很清楚你说的解决方法,可以将hbase的zookeeper目录下的文件全都删除掉。这是什么意思?  (2) 检查一下是否只有master创建了zookeeper目录, 其中 master是主机节点吗。我现在是4台机器,Master ,Slave1,Slave2,Slave3.其中Slave1,2,3是zk,hbase的HMaster在Master上,HRegionServer在Slave1,2,3上。我的hbase-site.xml配置文件:
<property>
  <name>hbase.rootdir</name>
  <value>hdfs://Cluster/hbase</value>
</property>
<property>
  <name>hbase.cluster.distributed</name>
  <value>true</value>
</property>
<property>
  <name>hbase.zookeeper.quorum</name>
  <value>Slave1,Slave2,Slave3</value>
</property>
<property>
  <name>dfs.replication</name>
  <value>3</value>
</property>
<property>
   <name>hbase.Cluster</name>
   <value>9000</value> <!--这里注意了,只需端口即可,不必再写主机名称了! -->
</property>  
<property>  
   <name>hbase.zookeeper.property.dataDir</name>  
   <value>/usr/local/zookeeper</value>  
</property>
还请楼主帮我看看我的问题。谢谢
回复 韩克拉玛寒 2015-5-20 18:19
HMaster进程会闪退,HRegionServer进程一直存在,但是日志中都报错,HMaster的日志报错信息和楼主一样,其他节点的错误信息如下:
2015-05-20 02:59:10,692 DEBUG [regionserver60020-EventThread] regionserver.SplitLogWorker: tasks arrived or departed
2015-05-20 02:59:16,703 DEBUG [regionserver60020] regionserver.HRegionServer: No master found; retry
2015-05-20 02:59:19,707 DEBUG [regionserver60020] regionserver.HRegionServer: No master found; retry
2015-05-20 02:59:22,710 DEBUG [regionserver60020] regionserver.HRegionServer: No master found; retry
日志如上。
回复 pig2 2015-5-21 00:19
hbase是自带的还是独立安装的
回复 xjw259 2017-2-9 12:26
我的自带的zookeeper安装的,我已经把zookeeper目录下面的都删除了,还是不行,还有hbase的web一直打不开

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

关闭

推荐上一条 /2 下一条