Index: src/java/org/apache/hadoop/hbase/HRegionServer.java =================================================================== --- src/java/org/apache/hadoop/hbase/HRegionServer.java (revision 627818) +++ src/java/org/apache/hadoop/hbase/HRegionServer.java (working copy) @@ -872,6 +872,12 @@ } this.conf.set(key, value); } + // Master sent us hbase.rootdir to use. Should be fully qualified + // path with file system specification included. Set 'fs.default.name' + // to match the filesystem on hbase.rootdir else underlying hadoop hdfs + // accessors will be going against wrong filesystem (unless all is set + // to defaults). + this.conf.set("fs.default.name", this.conf.get("hbase.rootdir")); this.fs = FileSystem.get(this.conf); this.rootDir = new Path(this.conf.get(HConstants.HBASE_DIR)); this.log = setupHLog(); Index: src/java/org/apache/hadoop/hbase/master/HMaster.java =================================================================== --- src/java/org/apache/hadoop/hbase/master/HMaster.java (revision 627818) +++ src/java/org/apache/hadoop/hbase/master/HMaster.java (working copy) @@ -255,10 +255,12 @@ */ public HMaster(Path rd, HServerAddress address, HBaseConfiguration conf) throws IOException { - this.conf = conf; + this.rootdir = rd; + // The filesystem hbase wants to use is probably not what is set into + // fs.default.name; its value is probably the default. + this.conf.set("fs.default.name", this.rootdir.toString()); this.fs = FileSystem.get(conf); - this.rootdir = this.fs.makeQualified(rd); this.conf.set(HConstants.HBASE_DIR, this.rootdir.toString()); this.rand = new Random(); Path rootRegionDir = Index: src/java/overview.html =================================================================== --- src/java/overview.html (revision 627818) +++ src/java/overview.html (working copy) @@ -75,7 +75,7 @@ <property> <name>hbase.master</name> - <value>http://localhost:60000</value> + <value>localhost:60000</value> <description>The host and port that the HBase master runs at. </description> </property>