最近在给HBase做性能测试(0.89版本),发现了一个异常现象:HBase中实际加载的Region数量要远远大于对应的Table中的Region数量,此时已经无法通过disable关闭对应的表。
一开始系统通过重启HBase来解决这个问题。但是重启以后,发现加载的Region数量仍然远远大于Table中的实际Region数(也远远大于HDFS中对应的目录数量),所以一个是.META.表出现了不一致的现象。
搜索maillist,发现以下一段话
Use the bin/add_table.rb tool. It will recreate all the .META.
entries
based on what's on HDFS.
执行
./hbase org.jruby.Main add_table.rb /hbase/TableName
重启HBase以后,发现加载的Region数量已经和实际的Region数量一致了
这时候disable也可以生效了
Bug产生的原因应该是split和compact操作导致.META.表中的数据不一致,maillist中提到这个bug在0.90版本中已经修复,未验证
BTW:http://search-hadoop.com/不错,可以搜索hadoop相关的maillist,关键是可以访问,fuck GFW!
分享到:
相关推荐
在HBase中,创建表是一个重要的操作,涉及到元数据的管理、Region的分配以及数据存储结构的设计。首先,我们需要理解HBase的表是由行(Row)、列族(Column Family)、列(Column)和时间戳(Timestamp)组成的数据...
HBase 二级索引实现方案的主要思路是,为每个 DataTable 创建一个与之对应的 IndexTable,通过各种途径,保证 IndexTable Region 与 DataTable Region 一一对应,并且存储在同一个 RegionServer 上。这样,每个 ...
但需要注意,HBase本身并不支持二级索引,索引通常需要在应用层实现。 ### 六、HBase的Region管理和负载均衡 HBase将大表分割为多个Region,每个Region由一个RegionServer管理。当Region大小超过预设阈值时,会...
在Java编程环境中,操作HBase并将其数据写入HDFS(Hadoop Distributed File System)是一项常见的任务,特别是在大数据处理和分析的场景下。本篇将详细介绍如何使用Java API实现这一功能,以及涉及到的关键技术和...
通过阅读《HBase中文教程》,Java开发者不仅可以了解HBase的基本原理,还能学会如何在实际工作中运用HBase解决大数据存储和处理问题,提升项目效率。无论是对大数据感兴趣的初学者,还是有经验的开发者,都能从这本...
目录 序 1. 入门 1.1. 介绍 1.2. 快速开始 2. 配置 2.1. Java 2.2. 操作系统 ...5.1. Table webtable 5.2. ColumnFamily anchor 5.3. ColumnFamily contents 8.1. Operation To Permission Mapping
当HBase中的数据量增长到一定程度时,Region会被分裂。这一过程包括以下几个步骤: 1. **写入数据**:首先,客户端向RegionServer发送数据写入请求。 2. **写入MemStore**:RegionServer接收到请求后,将数据写入到...
1. **表(Table)**:HBase中的数据组织在表中,表由行和列族组成,每个表都有一个唯一的名字。 2. **行(Row)**:表中的数据按照行键(Row Key)排序存储。行键是不可变的,用户自定义的字节数组,用于定位数据。 ...
1. 表(Table):HBase中的表是由行和列族组成的二维表格,类似于关系型数据库的表,但结构更为灵活。 2. 行(Row):行由行键(Row Key)唯一标识,是数据的访问入口。行键是字节序列,可以自定义排序规则。 3. ...
HBase是Apache软件基金会开发的...总的来说,HBase 2.0.2是一个强大且灵活的大数据存储解决方案,尤其适用于需要实时访问海量结构化数据的场景。通过深入理解和有效利用其特性,你可以构建高效、可扩展的数据处理系统。
HBase是一个分布式、面向列的开源数据库,它运行在Hadoop的文件系统(HDFS)之上,利用Hadoop的MapReduce来处理HBase中的大数据,同时也使用Apache ZooKeeper作为分布式协同服务。HBase特别适合于需要快速读写访问...
- **HLog**: 日志文件,用于记录Region内发生的变更事务,以保证数据的一致性和完整性。 ### 总结 HBase作为一个面向列的分布式数据库系统,在大数据处理领域扮演着重要角色。通过高效的数据存储和访问机制,HBase...
1. 表(Table):HBase的数据存储在表中,每个表由行键(Row Key)和列族(Column Family)组成。 2. 行键(Row Key):行键是表中的唯一标识符,用于定位数据。它是无序的,通常建议使用可排序的字符串或自增整数...
7. **性能优化**:在实际应用中,可能需要根据业务需求调整HBase的Region大小、ColumnFamily的压缩设置,以及Hive的执行计划优化,如增加分区、使用bucketing等。 整合Hive和HBase能够实现大数据处理的灵活性和效率...
HBase提供了多种一致性级别,如单行事务、多行事务等,通过`Table`的`put()`和`checkAndPut()`方法可实现。 10. **优化和性能** 为了优化性能,开发者可以考虑使用布隆过滤器、预读取(BlockCache)、压缩、...
在HBase这个分布式列式数据库中,Java是主要的编程语言,用于开发和操作HBase。HBase 0.96版本是一个较早但仍然重要的发行版,它引入了许多功能和改进,使得处理大规模数据变得更加高效。下面我们将深入探讨HBase ...
1. 表:HBase中的表由行和列族组成,表名全局唯一。 2. 行:行由行键(Row Key)唯一标识,是无序的,通常用于快速定位数据。 3. 列族:列族是预定义的一组列,所有列都在一个列族内,列族在表创建时定义,列可以在...
- **HMaster**:作为主控节点,负责协调HBase中Table和Region的管理,如表的增删改查、RegionServer的负载均衡、Region分布调整等。 - **RegionServer**:数据处理和计算单元,负责数据路由、读写和持久化。同时,...