Hadoop的web管理页面打不开

        问题描述:配置好hadoop并启动后,可以正常使用hdfs和mapreduce,但是不能打开Namenode和Jobtracker的web管理界面,错误代码404。

        原因:该问题很有可能是由于HADOOP_HOME下面存在build文件夹引起的,将其改名后重启,问题解决。当编译过hadoop后,会生成一个build目录,仔细看hadoop的启动脚本会发现,如果build文件夹中有webapps等目录,则启动时会把该目录加入到CLASSPATH中,详见$HADOOP_HOME/bin/hadoop文件中的

if [ -d "$HADOOP_HOME/build/webapps" ]; then
  CLASSPATH=${CLASSPATH}:$HADOOP_HOME/build
fi

但是web.xml中所引用的servlet类,比如

<servlet-mapping>
        <servlet-name>org.apache.hadoop.hdfs.server.namenode.dfshealth_jsp</servlet-name>
        <url-pattern>/dfshealth.jsp</url-pattern>
</servlet-mapping>

没有被编译,该类其实对应于$HADOOP_HOME/src/webapps/hdfs/dfshealth.jsp,这样,就出现了404错误。

        解决办法:将build目录改名或者删除即可。

        

猜你喜欢

转载自shidan66.iteye.com/blog/2000510