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.
> >
> >
>