bin/add_table.rb J-D
On Tue, Jul 6, 2010 at 9:44 AM, Ted Yu <[email protected]> wrote: > That fixes the issue. > > HBaseFsck found missing tables after scanning hdfs (possibly from previous > release of HBase - I installed 0.20.5 recently): > ERROR: Path hdfs:// > sjc9-flash-grid04.ciq.com:9000/hbase/TRIAL-ERRORS-1277252980233-0 does not > have a corresponding entry in META. > > Is there a way to add those tables back ? > > Thanks > > On Tue, Jul 6, 2010 at 9:08 AM, Stack <[email protected]> wrote: > > > HBaseFsck does this: > > > > conf.set("fs.defaultFS", conf.get("hbase.rootdir")); > > > > Add this line: > > > > conf.set("fs.default.name", conf.get("hbase.rootdir")); > > > > See if that fixes it (The former is new way of spec'ing defaultFS > > while latter is oldstyle). > > > > St.Ack > > > > On Mon, Jul 5, 2010 at 6:25 PM, Ted Yu <[email protected]> wrote: > > > I assume the conf directory is that of HBase. > > > > > > I use this command previously: > > > bin/hbase hbck > > > > > > I tried this today: > > > bin/hbase org.apache.hadoop.hbase.client.HBaseFsck > > > > > > Result is the same. > > > > > > I do see conf in the classpath: > > > 10/07/05 18:12:32 INFO zookeeper.ZooKeeper: Client > > > environment:java.class.path=/home/hadoop/mmp/234_x/hbase/conf:... > > > ... > > > rootDir: hdfs://sjc9-flash-grid04.carrieriq.com:9000/hbase hdfs:// > > > sjc9-flash-grid04.carrieriq.com:9000/hbase > > > Version: 0.20.5 > > > 10/07/05 18:12:32 DEBUG zookeeper.ZooKeeperWrapper: Read ZNode > > > /hbase/root-region-server got 10.32.56.159:60020 > > > 10/07/05 18:12:32 DEBUG client.HConnectionManager$TableServers: Found > > ROOT > > > at 10.32.56.159:60020 > > > 10/07/05 18:12:32 DEBUG client.HConnectionManager$TableServers: Cached > > > location for .META.,,1 is 10.32.56.159:60020 > > > > > > Number of Tables: 0 > > > Number of live region servers:2 > > > Number of dead region servers:0 > > > Exception in thread "main" java.lang.IllegalArgumentException: Wrong > FS: > > > hdfs://sjc9-flash-grid04.carrieriq.com:9000/hbase, expected: file:/// > > > at > org.apache.hadoop.fs.FileSystem.checkPath(FileSystem.java:310) > > > > > > > > > On Mon, Jul 5, 2010 at 10:24 AM, Stack <[email protected]> wrote: > > > > > >> Make sure conf directory is in your classpath. If it is, it might the > > >> case that you need something like the below: > > >> > > >> # Set hadoop filesystem configuration using the hbase.rootdir. > > >> # Otherwise, we'll always use localhost though the hbase.rootdir > > >> # might be pointing at hdfs location. > > >> c.set("fs.default.name", c.get(HConstants::HBASE_DIR)) > > >> fs = FileSystem.get(c) > > >> > > >> The above is copied from the jruby scripts in the bin dir...... > > >> > > >> ...though looking at the HBaseFsck it does this. > > >> > > >> So it must be a case of your not setting up the classpath properly? > > >> > > >> You've set the target hdfs in your hbase-site.xml and then you've > > >> launched the script as per: > > >> > > >> ./bin/hbase org.apache.hadoop.hbase.client.HBaseFsck > > >> > > >> (The above will ensure your classpath is set properly). > > >> > > >> St.Ack > > >> > > >> > > >> > > >> On Sat, Jul 3, 2010 at 9:51 AM, Ted Yu <[email protected]> wrote: > > >> > I produced patched version of HBaseFsck.java which is attached. > > >> > > > >> > When I ran it, I got: > > >> > > > >> > Version: 0.20.5 > > >> > 10/07/03 09:41:38 DEBUG zookeeper.ZooKeeperWrapper: Read ZNode > > >> > /hbase/root-region-server got 10.32.56.159:60020 > > >> > 10/07/03 09:41:38 DEBUG client.HConnectionManager$TableServers: > Found > > >> ROOT > > >> > at 10.32.56.159:60020 > > >> > 10/07/03 09:41:38 DEBUG client.HConnectionManager$TableServers: > Cached > > >> > location for .META.,,1 is 10.32.56.160:60020 > > >> > > > >> > Number of Tables: 0 > > >> > Number of live region servers:2 > > >> > Number of dead region servers:0 > > >> > Exception in thread "main" java.lang.IllegalArgumentException: Wrong > > FS: > > >> > hdfs://sjc9-flash-grid04.carrieriq.com:9000/hbase, expected: > file:/// > > >> > at > > org.apache.hadoop.fs.FileSystem.checkPath(FileSystem.java:310) > > >> > at > > >> > > > >> > > > org.apache.hadoop.fs.RawLocalFileSystem.pathToFile(RawLocalFileSystem.java:47) > > >> > at > > >> > > > >> > > > org.apache.hadoop.fs.RawLocalFileSystem.listStatus(RawLocalFileSystem.java:273) > > >> > at > > >> org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:721) > > >> > at > > >> org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:746) > > >> > at > > >> > > > >> > > > org.apache.hadoop.fs.ChecksumFileSystem.listStatus(ChecksumFileSystem.java:465) > > >> > at > > >> > > org.apache.hadoop.hbase.client.HBaseFsck.checkHdfs(HBaseFsck.java:192) > > >> > at > > >> > org.apache.hadoop.hbase.client.HBaseFsck.doWork(HBaseFsck.java:165) > > >> > at > > >> org.apache.hadoop.hbase.client.HBaseFsck.main(HBaseFsck.java:533) > > >> > 10/07/03 09:41:38 INFO zookeeper.ZooKeeper: Closing session: > > >> > 0x1299926deb30004 > > >> > > > >> > Please comment. > > >> > > > >> > On Sat, Jul 3, 2010 at 7:23 AM, Ted Yu <[email protected]> wrote: > > >> >> > > >> >> Hi, > > >> >> I tried to compile HBaseFsck.java for 0.20.5 but got: > > >> >> > > >> >> compile-core: > > >> >> [javac] Compiling 338 source files to > > >> >> /Users/tyu/hbase-0.20.5/build/classes > > >> >> [javac] > > >> >> > > >> > > > /Users/tyu/hbase-0.20.5/src/java/org/apache/hadoop/hbase/client/HBaseFsck.java:95: > > >> >> cannot find symbol > > >> >> [javac] symbol : constructor > > >> >> HBaseAdmin(org.apache.hadoop.conf.Configuration) > > >> >> [javac] location: class > org.apache.hadoop.hbase.client.HBaseAdmin > > >> >> [javac] super(conf); > > >> >> [javac] ^ > > >> >> [javac] > > >> >> > > >> > > > /Users/tyu/hbase-0.20.5/src/java/org/apache/hadoop/hbase/client/HBaseFsck.java:447: > > >> >> cannot find symbol > > >> >> [javac] symbol : method > > >> >> > > >> > > > metaScan(org.apache.hadoop.conf.Configuration,org.apache.hadoop.hbase.client.MetaScanner.MetaScannerVisitor) > > >> >> [javac] location: class > > org.apache.hadoop.hbase.client.MetaScanner > > >> >> [javac] MetaScanner.metaScan(conf, visitor); > > >> >> [javac] ^ > > >> >> [javac] > > >> >> > > >> > > > /Users/tyu/hbase-0.20.5/src/java/org/apache/hadoop/hbase/client/HBaseFsck.java:503: > > >> >> cannot find symbol > > >> >> [javac] symbol : method create() > > >> >> [javac] location: class > > org.apache.hadoop.hbase.HBaseConfiguration > > >> >> [javac] Configuration conf = HBaseConfiguration.create(); > > >> >> [javac] ^ > > >> >> [javac] Note: Some input files use or override a deprecated > API. > > >> >> [javac] Note: Recompile with -Xlint:deprecation for details. > > >> >> [javac] Note: Some input files use unchecked or unsafe > > operations. > > >> >> [javac] Note: Recompile with -Xlint:unchecked for details. > > >> >> [javac] 3 errors > > >> >> > > >> >> Advice is welcome. > > >> > > > >> > > > >> > > > > > >
