Hue (Hadoop User Environment)のインストールではまった…

■問題その1:File Browser が動かない。

一見、ちゃんと動いているように見えるが、ファイルを読もうとしたり、Uploadしようとしたりすると、エラーになる。
いろいろ調べた結果、datanode のログに以下のメッセージを発見。

2011-07-07 20:23:03,346 INFO org.apache.hadoop.thriftfs.DatanodePlugin: Datanode registration failed
org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused
at org.apache.thrift.transport.TSocket.open(TSocket.java:185)
at org.apache.hadoop.thriftfs.ThriftUtils.createNamenodeClient(ThriftUtils.java:288)
at org.apache.hadoop.thriftfs.DatanodePlugin$1.run(DatanodePlugin.java:199)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:529)
at org.apache.thrift.transport.TSocket.open(TSocket.java:180)
... 3 more


いろいろ調べた挙句、datanode plugin のポート(hdfs-site.xml の dfs.thrift.address で指定するやつ)を、9090を使っていたところを 10090 にしたら何故か動いた・・・
他のプロセスが9090を使っていたのか!?しかし、自作の検証コードでは、9090でthriftの接続までできたのだが・・・

■その2:Hive BeesWax が動かない。

Embeded metastore ではダメ?
Derby を使って Local Metastore をセットアップしようとするも、hive Cli で以下のエラー。

hive> show tables;
FAILED: Error in metadata: javax.jdo.JDOFatalInternalException: Error creating transactional connection factory
NestedThrowables:
java.lang.reflect.InvocationTargetException
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask


/tmp/[ユーザ名]/hive.log にhiveのログが出力されているのに気づき、見てみたら、
The specified datastore driver ("org.apache.derby.jdbc.ClientDriver") was not found in the CLASSPATH.
とのこと。

/usr/lib/hive/lib/
配下に
/opt/sun/javadb/lib/derbyclient.jar
へのシンボリックリンクをはるとCli、BeesWaxともに動くようになった。

なお、Derby を使って Local Metastore を構成する方法は以下参照。

http://blog.xole.net/article.php?id=744