diff --git a/bin/region_mover.rb b/bin/region_mover.rb index ab70ac5..482617c 100644 --- a/bin/region_mover.rb +++ b/bin/region_mover.rb @@ -80,7 +80,7 @@ def closeTables() end end -# Returns true if passed region is still on 'original' when we look at .META. +# Returns true if passed region is still on 'original' when we look at hbase:meta. def isSameServer(admin, r, original) server = getServerNameForRegion(admin, r) return false unless server and original @@ -94,7 +94,7 @@ class RubyAbortable end end -# Get servername that is up in .META.; this is hostname + port + startcode comma-delimited. +# Get servername that is up in hbase:meta; this is hostname + port + startcode comma-delimited. # Can return nil def getServerNameForRegion(admin, r) return nil unless admin.isTableEnabled(r.getTableName) @@ -270,7 +270,7 @@ end # Get configuration instance def getConfiguration() config = HBaseConfiguration.create() - # No prefetching on .META. This is for versions pre 0.99. Newer versions do not prefetch. + # No prefetching on hbase:meta This is for versions pre 0.99. Newer versions do not prefetch. config.setInt("hbase.client.prefetch.limit", 1) # Make a config that retries at short intervals many times config.setInt("hbase.client.pause", 500) diff --git a/bin/region_status.rb b/bin/region_status.rb index f4101df..293e007 100644 --- a/bin/region_status.rb +++ b/bin/region_status.rb @@ -125,7 +125,7 @@ while iter.hasNext end scanner.close # If we're trying to see the status of all HBase tables, we need to include the -# .META. table, that is not included in our scan +# hbase:meta table, that is not included in our scan if $tablename.nil? meta_count += 1 end diff --git a/conf/log4j.properties b/conf/log4j.properties index bb5ce19..4e8f145 100644 --- a/conf/log4j.properties +++ b/conf/log4j.properties @@ -88,6 +88,6 @@ log4j.logger.org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher=INFO #log4j.logger.org.apache.hadoop.ipc.HBaseServer.trace=DEBUG # Uncomment the below if you want to remove logging of client region caching' -# and scan of .META. messages +# and scan of hbase:meta messages # log4j.logger.org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation=INFO # log4j.logger.org.apache.hadoop.hbase.client.MetaScanner=INFO diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/DeleteTableHandler.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/DeleteTableHandler.java index 2102d5f..8874ff1 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/DeleteTableHandler.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/DeleteTableHandler.java @@ -103,7 +103,7 @@ public class DeleteTableHandler extends TableEventHandler { waitRegionInTransition(regions); try { - // 2. Remove table from .META. and HDFS + // 2. Remove table from hbase:meta and HDFS removeTableData(regions); } finally { // 3. Update table descriptor cache @@ -127,7 +127,7 @@ public class DeleteTableHandler extends TableEventHandler { } /** - * Removes the table from .META. and archives the HDFS files. + * Removes the table from hbase:meta and archives the HDFS files. */ protected void removeTableData(final List regions) throws IOException, CoordinatedStateException { @@ -136,7 +136,7 @@ public class DeleteTableHandler extends TableEventHandler { MetaEditor.deleteRegions(this.server.getCatalogTracker(), regions); // ----------------------------------------------------------------------- - // NOTE: At this point we still have data on disk, but nothing in .META. + // NOTE: At this point we still have data on disk, but nothing in hbase:meta // if the rename below fails, hbck will report an inconsistency. // ----------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/TruncateTableHandler.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/TruncateTableHandler.java index b4842d0..fce86d1 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/TruncateTableHandler.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/TruncateTableHandler.java @@ -70,7 +70,7 @@ public class TruncateTableHandler extends DeleteTableHandler { // 1. Wait because of region in transition waitRegionInTransition(regions); - // 2. Remove table from .META. and HDFS + // 2. Remove table from hbase:meta and HDFS removeTableData(regions); // ----------------------------------------------------------------------- diff --git a/src/main/docbkx/book.xml b/src/main/docbkx/book.xml index ae2623e..cb84c21 100644 --- a/src/main/docbkx/book.xml +++ b/src/main/docbkx/book.xml @@ -1134,12 +1134,12 @@ if (!b) {
Catalog Tables - The catalog tables -ROOT- and .META. exist as HBase tables. They are filtered out + The catalog table hbase:meta exists as an HBase table and is filtered out of the HBase shell's list command, but they are in fact tables just like any other.
ROOT - -ROOT- keeps track of where the .META. table is. The -ROOT- table structure is as follows: + -ROOT- was removed in 0.96.0 -ROOT- keeps track of where the hbase:meta table is. The -ROOT- table structure is as follows: Key: @@ -1149,15 +1149,15 @@ if (!b) { Values: info:regioninfo (serialized HRegionInfo - instance of .META.) - info:server (server:port of the RegionServer holding .META.) - info:serverstartcode (start-time of the RegionServer process holding .META.) + instance of hbase:meta) + info:server (server:port of the RegionServer holding hbase:meta) + info:serverstartcode (start-time of the RegionServer process holding hbase:meta)
- META - The .META. table keeps a list of all regions in the system. The .META. table structure is as follows: + hbase:meta + The hbase:meta table keeps a list of all regions in the system. The hbase:meta table structure is as follows: Key: @@ -1199,7 +1199,7 @@ if (!b) { HTable is responsible for finding RegionServers that are serving the particular row range of interest. It does this by querying - the .META. and -ROOT- catalog tables + the hbase:meta and -ROOT- catalog tables (TODO: Explain). After locating the required region(s), the client directly contacts the RegionServer serving that region (i.e., it does not go @@ -1542,7 +1542,7 @@ rs.close();
CatalogJanitor - Periodically checks and cleans up the .META. table. See for more information on META. + Periodically checks and cleans up the hbase:meta table. See for more information on META.
@@ -1641,7 +1641,7 @@ rs.close(); Your data isn't the only resident of the block cache, here are others that you may have to take into account: - Catalog tables: The -ROOT- and .META. tables are forced into the block cache and have the in-memory priority which means that they are harder to evict. The former never uses + Catalog tables: The -ROOT- and hbase:meta tables are forced into the block cache and have the in-memory priority which means that they are harder to evict. The former never uses more than a few hundreds of bytes while the latter can occupy a few MBs (depending on the number of regions). HFiles indexes: HFile is the file format that HBase uses to store data in HDFS and it contains a multi-layered index in order seek to the data without having to read the whole file. @@ -2766,7 +2766,7 @@ major version (0.90.7 uberhbck can repair a 0.90.4). However, versions <=0.90 These are generally region consistency repairs -- localized single region repairs, that only modify in-memory data, ephemeral zookeeper data, or patch holes in the META table. Region consistency requires that the HBase instance has the state of the region’s data in HDFS -(.regioninfo files), the region’s row in the .META. table., and region’s deployment/assignments on +(.regioninfo files), the region’s row in the hbase:meta table., and region’s deployment/assignments on region servers and the master in accordance. Options for repairing region consistency include: -fixAssignments (equivalent to the 0.90 -fix option) repairs unassigned, incorrectly diff --git a/src/main/docbkx/ops_mgt.xml b/src/main/docbkx/ops_mgt.xml index 7b2cd63..34c5471 100644 --- a/src/main/docbkx/ops_mgt.xml +++ b/src/main/docbkx/ops_mgt.xml @@ -1362,7 +1362,7 @@ hbase> restore_snapshot 'myTableSnapshot-122112'
Table Rename In versions 0.90.x of hbase and earlier, we had a simple script that would rename the hdfs - table directory and then do an edit of the .META. table replacing all mentions of the old + table directory and then do an edit of the hbase:meta table replacing all mentions of the old table name with the new. The script was called ./bin/rename_table.rb. The script was deprecated and removed mostly because it was unmaintained and the operation performed by the script was brutal. diff --git a/src/main/docbkx/troubleshooting.xml b/src/main/docbkx/troubleshooting.xml index 4c426d8..749d3fa 100644 --- a/src/main/docbkx/troubleshooting.xml +++ b/src/main/docbkx/troubleshooting.xml @@ -958,7 +958,7 @@ ERROR org.apache.hadoop.hbase.regionserver.HRegionServer: ZooKeeper session expi
NotServingRegionException This exception is "normal" when found in the RegionServer logs at DEBUG level. This exception is returned back to the client - and then the client goes back to .META. to find the new location of the moved region. + and then the client goes back to hbase:meta to find the new location of the moved region. However, if the NotServingRegionException is logged ERROR, then the client ran out of retries and something probably wrong.
diff --git a/src/main/site/xdoc/replication.xml b/src/main/site/xdoc/replication.xml index 9de3682..c9a765a 100644 --- a/src/main/site/xdoc/replication.xml +++ b/src/main/site/xdoc/replication.xml @@ -108,7 +108,7 @@ In a separate thread, the edit is read from the log (as part of a batch) and only the KVs that are replicable are kept (that is, that they are part of a family scoped GLOBAL in the family's schema, non-catalog so not - .META. or -ROOT-, and did not originate in the target slave cluster - in + hbase:meta or -ROOT-, and did not originate in the target slave cluster - in case of cyclic replication).