试图在hadoop集群上运行spring boot嵌入式web容器

时间:2013-10-26 14:49:33

标签: spring hadoop spring-boot

我正在尝试运行需要与hdfs通信的spring boot嵌入式Web容器应用程序。我在我的pom.xml中包含了spring数据hadoop但是当我在集群上运行应用程序时出现了这个错误

引起:java.io.FileNotFoundException:在hdfspub-0.0.1-SNAPSHOT.jar中找不到JAR条目lib / hadoop-core-1.2.1.jar!/ core-default.xml 在.jar.JarURLConnec ... ction.java:122) 在JarURLConnec ... ction.java:132) at com.sun.org.apache.xerces.internal.impl.XMLEntityM anager.setupCurrentEntity(XMLEntityManager.java:65 1) at com.sun.org.apache.xerces.internal.impl.XMLVersion Detector.determineDocVersion(XMLVersionDetector.ja va:186) at com.sun.org.apache.xerces.internal.parsers.XML11Co nfiguration.parse(XML11Configuration.java:772) at com.sun.org.apache.xerces.internal.parsers.XML11Co nfiguration.parse(XML11Configuration.java:737) 在com.sun.org.apache.xerces.internal.parsers.XMLPars er.parse(XMLParser.java:119) 在com.sun.org.apache.xerces.internal.parsers.DOMPars er.parse(DOMParser.java:232) 在com.sun.org.apache.xerces.internal.jaxp.DocumentBu ilderImpl.parse(DocumentBuilderImpl.java:284) 在javax.xml.parsers.DocumentBuilder.parse(DocumentBu ilder.java:180) 在org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:1156)

即使我想看看我的罐子,我也能看到hadoop-core-1.2.1.jar在那里

$ unzip -l hdfspub-0.0.1-SNAPSHOT.jar | grep hadoop-core-1.2.1.jar 4203713 10-25-2013 21:04 lib / hadoop-core-1.2.1.jar

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

我有同样的问题,解决方法是将hadoop.core添加到你的pom / build.gradle中,但你必须从spring.data.hadoop和apache.hadoop组中排除:

  • Tomcat的
  • org.mortbay.jetty
  • 的javax.servlet

我的build.gradle:

   compile('org.apache.hadoop:hadoop-core:1.2.1'){
       exclude group: 'org.mortbay.jetty'
       exclude group: 'javax.servlet'
       exclude group: 'tomcat'       
   }
   compile('org.springframework.data:spring-data-hadoop:1.0.2.RELEASE') {
       exclude group: 'org.mortbay.jetty'
       exclude group: 'javax.servlet'
       exclude group: 'tomcat'
   }