为什么它可以在main方法中运行,而不是在servlet doGet方法中运行

时间:2014-10-01 13:30:10

标签: java eclipse servlets hadoop nutch

我确实在eclipse EE中运行Nutch 1.2。如果我在main方法中使用Nutch API,那么一切都很好,它可以运行并且结果还可以,但我只是想把它作为一个web项目,所以我使用Servlet doGet方法(没有修改程序,保持相同),但在我点击“在服务器上运行”后,它显示:

  

** INFO ipc.Client:重试连接到服务器:localhost / 127.0.0.1:9000。已经尝试了0次。   INFO ipc.Client:重试连接到服务器:localhost / 127.0.0.1:9000。已经尝试了1次。   INFO ipc.Client:重试连接到服务器:localhost / 127.0.0.1:9000。已经尝试了2次。       servlet的servlet.service()函数return_searchresult_webpage引发了异常       java.net.ConnectException:在连接异常时调用localhost / 127.0.0.1:9000失败:java.net.ConnectException:连接被拒绝:无更多信息       at org.apache.hadoop.ipc.Client.wrapException(Client.java:767)       在org.apache.hadoop.ipc.Client.call(Client.java:743)       在org.apache.hadoop.ipc.RPC $ Invoker.invoke(RPC.java:220)       在com.sun.proxy。$ Proxy2.getProtocolVersion(未知来源)       在org.apache.hadoop.ipc.RPC.getProxy(RPC.java:359)       在org.apache.hadoop.hdfs.DFSClient.createRPCNamenode(DFSClient.java:106)       在org.apache.hadoop.hdfs.DFSClient。(DFSClient.java:207)       在org.apache.hadoop.hdfs.DFSClient。(DFSClient.java:170)       在org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:82)       在org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:1378)       在org.apache.hadoop.fs.FileSystem.access $ 200(FileSystem.java:66)       在org.apache.hadoop.fs.FileSystem $ Cache.get(FileSystem.java:1390)       在org.apache.hadoop.fs.FileSystem.get(FileSystem.java:196)       在org.apache.hadoop.fs.FileSystem.get(FileSystem.java:95)       在org.apache.nutch.searcher.NutchBean。(NutchBean.java:90)       在yuhao.return_searchresult_webpage.doGet(return_searchresult_webpage.java:63)       在javax.servlet.http.HttpServlet.service(HttpServlet.java:707)       在javax.servlet.http.HttpServlet.service(HttpServlet.java:820)       在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)       在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)       在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)       在org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)       在org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)       在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)       在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)       在org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)       在org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:606)       在org.apache.tomcat.util.net.JIoEndpoint $ Worker.run(JIoEndpoint.java:489)       在java.lang.Thread.run(未知来源)**<

服务器是tomcat 6.看起来这是Hadoop的连接问题,Nutch使用hadoop,我有“hadoop-0.20.2-core.jar,hadoop-core-0.20.2-cdh3u0.jar”。但我没有发现9000端口被任何程序占用,而tomcat占用了8080,8005,8009端口。我真的很沮丧。谁能给我一个关于问题的指导?非常感谢你的帮助!

0 个答案:

没有答案