Hadoopではブラウザ上で以下のようにファイル内容を表示させることができ、ファイルをダウンロードすることが可能です。
しかしながら、私の環境のHadoop-0.21.0では Download this file を押すと以下のようなエラーがでてしまい、ダウンロードできません。
HTTP ERROR: 500
INTERNAL_SERVER_ERROR
RequestURI=/streamFileCaused by:
java.lang.NullPointerException
at org.apache.hadoop.hdfs.server.common.JspHelper.getDefaultWebUser(JspHelper.java:386)
at org.apache.hadoop.hdfs.server.common.JspHelper.getUGI(JspHelper.java:426)
at org.apache.hadoop.hdfs.server.namenode.DfsServlet.getUGI(DfsServlet.java:101)
at org.apache.hadoop.hdfs.server.namenode.StreamFile.getDFSClient(StreamFile.java:59)
at org.apache.hadoop.hdfs.server.namenode.StreamFile.doGet(StreamFile.java:87)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1124)
at org.apache.hadoop.http.HttpServer$QuotingInputFilter.doFilter(HttpServer.java:767)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1115)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:361)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:864)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:533)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:207)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)
Hadoop-0.21.0ではこのエラーが出ますが、Hadoop-0.20.2ならエラーが起こらず動作します。
0.21.0は不安定でオススメできないと聞きますので、0.20.2を使うべきなのでしょうか。
環境
OS: CentOS 5.3 または Fedora 13 両者でテストして同じエラー
Java: Sun Java SE 6 update 24