HBase .META. Region启动不成功

启动region server的时候报如下错误:

 

2013-09-09 11:23:05,863 DEBUG org.apache.hadoop.hbase.regionserver.HRegionServer: NotServingRegionException; Region is not online: -ROOT-,,0
2013-09-09 11:23:08,874 DEBUG org.apache.hadoop.hbase.regionserver.HRegionServer: NotServingRegionException; Region is not online: -ROOT-,,0
2013-09-09 11:23:11,898 DEBUG org.apache.hadoop.hbase.regionserver.HRegionServer: NotServingRegionException; Region is not online: -ROOT-,,0
2013-09-09 11:24:15,344 DEBUG org.apache.hadoop.hbase.io.hfile.LruBlockCache: Stats: total=2.05 MB, free=247.44 MB, max=249.48 MB, blocks=0, accesses=0, hits=0, hitRatio=0, cachingAccesses=0, cachingHits=0, cachingHitsRatio=0, evictions=0, evicted=0, evictedPerRun=NaN
2013-09-09 11:24:19,977 ERROR org.apache.hadoop.hbase.regionserver.wal.HLog: Can't open after 300 attempts and 300518ms  for hdfs://opentsdb:8020/hbase/.logs/opentsdb,60020,1378358082016-splitting/opentsdb%2C60020%2C1378358082016.1378397697610
2013-09-09 11:24:19,978 INFO org.apache.hadoop.hbase.regionserver.wal.HLogSplitter: Processed 0 edits across 0 regions threw away edits for 0 regions; log file=hdfs://opentsdb:8020/hbase/.logs/opentsdb,60020,1378358082016-splitting/opentsdb%2C60020%2C1378358082016.1378397697610 is corrupted = false progress failed = false
2013-09-09 11:24:19,978 WARN org.apache.hadoop.hbase.regionserver.SplitLogWorker: log splitting of hdfs://opentsdb:8020/hbase/.logs/opentsdb,60020,1378358082016-splitting/opentsdb%2C60020%2C1378358082016.1378397697610 failed, returning error
java.io.IOException: Cannot obtain block length for LocatedBlock{BP-17274449-192.168.0.75-1376541308222:blk_4420133534962983319_1645; getBlockSize()=0; corrupt=false; offset=0; locs=[192.168.0.75:50010]}
    at org.apache.hadoop.hdfs.DFSInputStream.readBlockLength(DFSInputStream.java:319)
    at org.apache.hadoop.hdfs.DFSInputStream.fetchLocatedBlocksAndGetLastBlockLength(DFSInputStream.java:263)
    at org.apache.hadoop.hdfs.DFSInputStream.openInfo(DFSInputStream.java:205)
    at org.apache.hadoop.hdfs.DFSInputStream.<init>(DFSInputStream.java:198)
    at org.apache.hadoop.hdfs.DFSClient.open(DFSClient.java:1117)
    at org.apache.hadoop.hdfs.DistributedFileSystem.open(DistributedFileSystem.java:249)
    at org.apache.hadoop.hdfs.DistributedFileSystem.open(DistributedFileSystem.java:82)
    at org.apache.hadoop.io.SequenceFile$Reader.openFile(SequenceFile.java:1787)
    at org.apache.hadoop.hbase.regionserver.wal.SequenceFileLogReader$WALReader.openFile(SequenceFileLogReader.java:62)
    at org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1707)
    at org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1728)
    at org.apache.hadoop.hbase.regionserver.wal.SequenceFileLogReader$WALReader.<init>(SequenceFileLogReader.java:55)
    at org.apache.hadoop.hbase.regionserver.wal.SequenceFileLogReader.init(SequenceFileLogReader.java:177)
    at org.apache.hadoop.hbase.regionserver.wal.HLog.getReader(HLog.java:713)
    at org.apache.hadoop.hbase.regionserver.wal.HLogSplitter.getReader(HLogSplitter.java:825)
    at org.apache.hadoop.hbase.regionserver.wal.HLogSplitter.getReader(HLogSplitter.java:738)
    at org.apache.hadoop.hbase.regionserver.wal.HLogSplitter.splitLogFile(HLogSplitter.java:382)
    at org.apache.hadoop.hbase.regionserver.wal.HLogSplitter.splitLogFile(HLogSplitter.java:350)
    at org.apache.hadoop.hbase.regionserver.SplitLogWorker$1.exec(SplitLogWorker.java:115)
    at org.apache.hadoop.hbase.regionserver.SplitLogWorker.grabTask(SplitLogWorker.java:283)
    at org.apache.hadoop.hbase.regionserver.SplitLogWorker.taskLoop(SplitLogWorker.java:214)
    at org.apache.hadoop.hbase.regionserver.SplitLogWorker.run(SplitLogWorker.java:182)
    at java.lang.Thread.run(Thread.java:662)

 

从错误上可以看出,ROOT Region没在线, Region Server的拆分HLog的时候,由于获取HLog的长度时,发生错误,导致失败.查询Region Server状态的时候,发现确实没有.META. Region,猜测该HLog文件损坏了.

hbase hlog /hbase/.logs/opentsdb,60020,1378358082016-splitting/opentsdb%2C60020%2C1378358082016.1378397697610

查看HLog,和上面报的错误时一样的,删除该log文件,hadoop fs -rmr /hbase/.logs/opentsdb,60020,1378358082016-splitting/opentsdb%2C60020%2C1378358082016.1378397697610

重新启动Region Server就可以了,问题的原因是,用户在向Hbase插入数据时,强制停掉了RS,使HLog文件出错.

在网上查看Region is not online: -ROOT-,,0相关的错误,也没有得到正确的答案,后来看了一下源码,报这个错误的地方是在:

protected HRegion getRegion(final byte[] regionName)
      throws NotServingRegionException {
    HRegion region = null;
    region = getOnlineRegion(regionName);
    if (region == null) {
      throw new NotServingRegionException("Region is not online: " +
        Bytes.toStringBinary(regionName));
    }
    return region;
  }

也就是说,regionName不再Map中,就会报这个错误,具体问题还得具体分析

hbase线上region不一致问题相关数据修复 再次hbck检查,发现region被assign到了两个regionserver上,到hbase控制台的s02和s01两个regionserver上检查该region,在s01上存在该region而在s02上没有。在hbase控制台检查该表是否有这些报出的region,反馈控制台找不到这些region,且对应表的所有region的rowkey都是连续的。执行hbck检查集群恢复正常。如果此表在hbase中已经不存在了,只在hdfs上有对应目录且没有数据,已经是垃圾文件,可以删除或mv到hdfs的其他目录。 阅读详情

相关推荐

HBase meta表数据修复

目的为了弄清楚hbase:meta表中的数据(每个表的region所在的regionserver信息)是否会在集群每次重启后重新生成。过程将hbase:meta表中数据全部删除后重启集群,结果发现只有hbase:namespace的信息会重新生成并插入到hbase:meta表中,而其他所有用户表(用户自己创建的表)的信息都没有恢复。这里又牵扯到另一个问题,如何修复hbase:meta表中的数据,用户

人是有思想的芦苇 5879

apache phoenix输入命令没反应,WARN client.ZKAsyncRegistry: Meta region is in state OPENING

异步注册,元区域处于开放状态,和这个没关系 进入zookeeper客户端删掉hbase文件,重启zk和hbase 解决!

weixin_60811028的博客 1386

Hbase region空洞修复工具

众所周知,Hbase 中随着某个table 数量的增多必然会分裂成多个region,这些region 中的start-key 和 end-key 首位相连组成一个闭环.如下图所示 在表健康的时候可以用hbck工具来扫描整个表.结果当然是健康的状态 hbase hbck

Terry Zhang Data Solution 4109

hbase异常修复经验总结

重hbase异常修复经验总结,如启集群时,如果报错hbase:meta表不在服务器上。。master节点启动失败,切分wal日志失败。。hbase的RIT问题..arrayIndexOutofBoundSexcExecptiom....regin不在线,,,,, is not online on...表处于中间状态等等...

apply_bomb的博客 4436

HBase region预划分及查找过程

1.Region预划分: RegionSplitter java.lang.Object org.apache.hadoop.hbase.util.RegionSplitter 切分方式:分别按照不同的Split进行切分 bin/hbase org.apache.hadoop.hbase.util.RegionSplitter -c 60 -f test:rs myTa

1万+

hbase:meta 表解析

hbase:meta表中存储了Hbase集群中全部表的所有的region信息。 hbase:mate表所在的RegionServer信息被存储到了zk中的/hbase/meta-region-server节点。通过查询该节点,可以获得hbase:meta表在那个RegionServer。 rowkey hbase:meta表的rowkey结构如下: 表名,STARTKEY,创建时间.ha...

初阳 6484

hbase集群master节点无法启动问题的处理经验

hbase集群master节点无法启动问题的处理经验如meta表namespace表不在线

apply_bomb的博客 3446

HBase源码分析之Region定位

我们知道,HBase是一个基于RowKey进行检索的分布式数据库。它按照行的方向将表中的数据切分成一个个Region,而每个Region都会存在一个起始行StartKey和一个终止行EndKey。Region会最终选择一个RegionSever上线,并依靠RegionSever对外提供数据存取服务。那么,HBase是如何实现数据的检索,也就是它如何将需要读写的行Row准确的定位到其所在Region和RegionServer上的呢?本文,我们就将研究下HRegion的定位。

辰辰爸的博客 7011

[HBase]Region assignment

  接上文,我们创建表t1,列族c1,hbase.root目录为/new。当创建空表时,系统会自动生成一个空region,我们以这个region分配过程看下Region是如何在HMaster和Region server(以下简称rs)中创建的。大致过程如下: 1.HMaster指定分配计划,一个region只会分配给一个rs,多个rs均匀分配 2.多个rs并发执行assiagnment操...

吊丝码农 441

基于FPGA的DDS信号发生器

之前的博客讲到了DDS的基本原理,现在用Verilog代码实现DDS,能够产生四种波形,方波,三角波,正弦波,锯齿波,用按键来控制频率和选择波形。其中按键消抖模块来自小梅哥的FPGA自学笔记设计与验证这本书。 module DDS_Module( Clk, Rst_n, EN, Fword, Key1, Pword, DA_Clk, DA_Data ); input Clk...

qq_43534451的博客 9950

时间序列分析:ARCH、GARCH、TGARCH与DCC-GARCH波动率模型(含代码)

关注TGARCH模型和DCC-GARCH的应用,通过在沪深300和中证500指数上应用TGARCH和DCC-GARCH模型,揭示这两个指数之间的条件异方差及动态相关性的变化规律。

celiaweiwei的博客 1万+

HBase的Region定位

Region定位:系统如何找到某个row key (或者某个 row key range)所在的region关于Region的查找,早期的设计(0.96.0)之前是被称之为三层查询架构,如下图所示:Region:就是要查找的数据所在的Region.META.:是一张元数据表,记录了用户表的Region信息以及RegionServer的服务器地址,.META.可以有多个regoin。.META.表中...

MingYueZh的博客 1万+

曲线最小二乘拟合基础

介绍曲线拟合的最小二乘原理,介绍了常规最小二乘和正交最小二乘算法,最后介绍了MathNet矩阵运算库的基本操作。

yh523的博客 1303

HBase Region分区及定位

在 HBase 中,表的所有行都是按照 RowKey 的字典序排列的,表在行的方向上分割为多个分区(Region),如下图所示。 每张表一开始只有一个 Region,但是随着数据的插入,HBase 会根据一定的规则将表进行水平拆分,形成两个 Region。当表中的行越来越多时,就会产生越来越多的 Region,而这些 Region 无法存储到一台机器上时,则可将其分布存储到多台机器上。 Master 主服务器把不同的 Region 分配到不同的 Region 服务器上,同一个行键的 Region 不会被拆

张俊杰 的博客 5028

华为OD机试 - 商品推荐多属性排序 - 数组(Python/JS/C/C++ 双机位A卷 100分)

本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。双十一来临,小王准备买某个购物平台买坚果。在输入坚果时,页面默认按照综合推荐列表。小王想知道这个综合排序时如何完成的,于是便开始思考算法题。经过一番操作后,完成它的多个关键词排序算法。希望你给小王提供一份正确的排序结果,验证其实现算法结果的准确性

学Java,找哪吒 623

富芮坤fr8008gp 240X280 lvgl项目启动

fr8008gp_240X280_lvgl项目启动

cheng___yi的博客 1758

HBase Region数据不一致

【背景】 应用在进行bulkload将hfile导入hbase中报错: 2019-04-03 11:27:18,509 [LoadIncrementalHFiles-2][org.apache.hadoop.hbase.client.RpcRetryingCaller:132] [INFO ] - Callexception, tries=20, retries=35, started=269...

wangkuangood3200的专栏 2763

Python控制TEMI1000/TEMI1500测试温箱

该温箱是我司从昆山振弘检测设备有限公司采购的TEMI 1000,但是控制器用的是韩国的,关于控温箱这个项目,可参考的资料仅有一份官方的manual,里面包含一些命令格式。只要你有温箱,就应该可以向厂家索取该文档。该温箱的通讯接口只有一个RS232接口,要想实现远程控制,需要有串口转USB的线;类似于下图所以,想依靠python来与之进行通信,还是要通过python 的pyserial库,关于怎么安装pyserial,过于简单,这里不做赘述,可自行百度。

xgh1951的博客 1万+

Hbase meta表介绍

HBase meta表介绍 本文转载自 https://www.jianshu.com/p/ea7e03cfbfe0 1.hbase0.98之后,hbase就废弃了ROOT**表,仅保留meta表 2.meta表不允许split 在网上较多的文章都会介绍hbase的两个关键表ROOT表与meta表。 其实在hbase0.98之后,hbase就废弃了ROOT表,仅保留meta表(还有namespa...

C_time的博客 3536

NOTE: When using the `ipython kernel` entry point, Ctrl-C will not work.解决方案

本文主要介绍了NOTE: When using the `ipython kernel` entry point, Ctrl-C will not work.解决方案,希望能对使用jupyter notebook的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 11万+

ConvNeXt 系列改进:引入大核注意力(LKA)替换 7×7 深度卷积,涨点 2.1%

LSKA替换7×7深度卷积,在ImageNet分类任务上实现2.1%的显著提升,参数量仅增加1M。LSKA的四层1D分解将计算复杂度从O(k²)降至O(k),21×21大核的计算量仅相当于原版7×7的1.7倍,实现了感受野与计算成本的完美平衡。部署友好度极高:LSKA模块在TensorRT FP16量化后延迟仅1.2ms,精度损失<0.1%,远优于Transformer类模型。下游任务全面领先。

ZXSXJ的博客 701

Hbase-之元数据解读-catalog table(hbase:meta)

Hbase源数据解读catalog table Hbase的catalog table存在在Hbase系统中的hbase:meta表中(之间叫.META.),但是该表对Hbase shell是不可见的,但是实际上,它和其它的表没有任何区别。 Hbase:meta表的存储路径会被存储在Zookeeper的hbase节点下面 1、 hbase:meta的表结构 rowkey的格式为:(table,region‘s startkey,region id) table就是表名 region’s startkey

shufangreal的博客 2456

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Hbase Meta表基本介绍

Hbase有一个叫做Meta的特殊的目录表,用于保存集群中regions的位置信息(region列表)。ZooKeeper存储着Meta表的位置。 Hbase Meta结构如下: 具体含义: rowKey:([table],[region start key],[region id]) column family:info column:regioninfo、server、se...

JY_He的博客 7851

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

HBase Meta 元信息表修复实践

HBase meta表的数据正确性对于HBase集群的正常运行至关重要,如何保证meta表数据正确以及数据损坏之后快速修复变的极为重要,如果对meta没有全面认识每次集群出现故障将会措手无策。在线修复:meta表可以正常通过hbck、自研工具进行meta表数据修复保证数据完整性。离线修复:meta表无法正常上线根据hdfs中Region信息重构meta表恢复HBase服务。

vivo互联网技术 1644

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

HBase分析之Region定位

以前的理论是:客户端向ZooKeeper请求 -ROOT- 表的位置,然后通过 -ROOT- 表找 META 表的位置,再通过 META 表定位到Region Server位置。但这个理论已经过时了, -ROOT- 表已经消失在历史的尘埃中。现在的ZooKeeper直接缓存了 META 表所在的位置信息(本质是一样的,只是这跳过了 -ROOT- 表,这个过程本来就很多余。。),可以直接通过ZooKe

MasaWong的专栏 3133
上一篇: hadoop1.2.1+zookeeper-3.4.5+hbase-0.94.1集群安装
下一篇: The method of type must override a superclass method解决方式
weixir123
博客等级 码龄16年 1粉丝 207原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值