[
https://issues.apache.org/jira/browse/HBASE-3432?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13417890#comment-13417890
]
Jun Young Kim commented on HBASE-3432:
--------------------------------------
I also got this problem when I am using CDH4(hbase 0.92.1).
I resolved this problem by removing /hbase/unassigned directory from a
zookeeper.
In this directory, there are lots of unassigned region information.
so, I am curious there is some relations between zk's /hbase/unassigned
directory and .META.
> [hbck] Add "remove table" switch
> --------------------------------
>
> Key: HBASE-3432
> URL: https://issues.apache.org/jira/browse/HBASE-3432
> Project: HBase
> Issue Type: New Feature
> Components: util
> Affects Versions: 0.89.20100924
> Reporter: Lars George
> Priority: Minor
>
> This happened before and I am not sure how the new Master improves on it
> (this stuff is only available between the lines are buried in some peoples
> heads - one other thing I wish was for a better place to communicate what
> each path improves). Just so we do not miss it, there is an issue that
> sometimes disabling large tables simply times out and the table gets stuck in
> limbo.
> From the CDH User list:
> {quote}
> On Fri, Jan 7, 2011 at 1:57 PM, Sean Sechrist <[email protected]> wrote:
> To get them out of META, you can just scan '.META.' for that table name, and
> delete those rows. We had to do that a few months ago.
> -Sean
> That did it. For the benefit of others, here's code. Beware the literal
> table names, run at your own peril.
> {quote}
> {code}
> import java.io.IOException;
> import org.apache.hadoop.conf.Configuration;
> import org.apache.hadoop.hbase.HBaseConfiguration;
> import org.apache.hadoop.hbase.client.HTable;
> import org.apache.hadoop.hbase.client.Delete;
> import org.apache.hadoop.hbase.client.Result;
> import org.apache.hadoop.hbase.client.MetaScanner;
> import org.apache.hadoop.hbase.util.Bytes;
> public class CleanFromMeta {
> public static class Cleaner implements MetaScanner.MetaScannerVisitor {
> public HTable meta = null;
> public Cleaner(Configuration conf) throws IOException {
> meta = new HTable(conf, ".META.");
> }
> public boolean processRow(Result rowResult) throws IOException {
> String r = new String(rowResult.getRow());
> if (r.startsWith("webtable,")) {
> meta.delete(new Delete(rowResult.getRow()));
> System.out.println("Deleting row " + rowResult);
> }
> return true;
> }
> }
> public static void main(String[] args) throws Exception {
> String tname = ".META.";
> Configuration conf = HBaseConfiguration.create();
> MetaScanner.metaScan(conf, new Cleaner(conf),
> Bytes.toBytes("webtable"));
> }
> }
> {code}
> I suggest to move this into HBaseFsck. I do not like personally to have these
> JRuby scripts floating around that may or may not help. This should be
> available if a user gets stuck and knows what he is doing (they can delete
> from .META. anyways). Maybe a "\-\-disable-table <tablename> \-\-force" or
> so? But since disable is already in the shell we could add an "\-\-force"
> there? Or add a "\-\-delete-table <tablename>" to the hbck?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira