Holger Stenzhorn wrote:
Hadoop RunJar looks to contain the only use of hadoop.tmp.dir other
than test and contrib code. It does the following: 'new File(new
Configuration().get("hadoop.tmp.dir"));' using java.io.File. In
hbase, its all Path and hadoop FileSystem. So, yes, content of
hadoop.tmp.dir is treated differently.
Could that be changed? ...meaning, wouldn't it be sensible to change
HBase (to use Path etc.) so it behaves like Hadoop?
You mean, can hadoop be changed? (Its hbase that's drunk the
kool-aid; its the one that goes via hadoop FileSystem for all
filesystem accesses whereas the hadoop use of hadoop.tmp.dir goes via
java.io.File).
Nope. I mean the other way around: Can you change the HBase code so it
goes via the Hadoop filesystem? ...or would this imply a performance
drop for HBase?
It already does (See my comments above).
What happens if you clean up your local directory removing
${hadoop.tmp.dir} and retry?
Again, if I use "c:\tmp\hadoop-holste" as value for
"${hadoop.tmp.dir}" it works: The log reflects just the situation when
this variable is not set in "hbase-site.xml" - then it does not work.
I also forgot to mention in my last my that it is not just
"${hadoop.tmp.dir}" set to "/tmp/hadoop-${user.name}" that causes the
problem but also if it is set to "/tmp/hadoop-holste".
Did you try my suggestion of removing anything that might once have been
a value for hadoop.tmp.dir?
Testing here on cygwin using local filesystem and all defaults, it all
just works fine. I'm disturbed by the state you seem to be in where the
.META. table is not being deployed AND there is no exception saying
why. The only think I can think is that previous runs have left a
horked -ROOT- region on the filesystem.
Good on you Holger,
St.Ack
Thanks,
St.Ack
Did you just change the value of hadoop.tmp.dir from
/tmp/hadoop-${user.name} to /tmp/hadoop-holste on cygwin and it
then worked?
No. I changed it to changed the value "c:\tmp\hadoop-holste".
Also, I tried to do the very same (as described in my intitial
mail) on Ubuntu also *without* specifying "hadoop.tmp.dir".
There it works wihtout problems...
Yeah. I know things work out-of-the-box on linux/macosx. Jim has
been doing a bunch of work trying to get the same to happen on
cygwin (10Minutes has the latest fruit of his work).
As requested by Michel Stack I also attach my log (turned to
debug) when starting the server.
Thanks for the log. Comments interlaced.
Cheers,
Holger
07/11/02 13:40:09 DEBUG conf.Configuration: java.io.IOException:
config()
at
org.apache.hadoop.conf.Configuration.<init>(Configuration.java:144)
at
org.apache.hadoop.hbase.HBaseConfiguration.<init>(HBaseConfiguration.java:30)
at org.apache.hadoop.hbase.HMaster.doMain(HMaster.java:3043)
at org.apache.hadoop.hbase.HMaster.main(HMaster.java:3097)
...