每次我运行Mapreduce作业都会失败,并显示以下错误:
[main] WARN org.apache.hadoop.mapred.YarnChild - Exception running child : java.io.IOException: DataStreamer Exception:
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:918)
Caused by: javax.xml.parsers.FactoryConfigurationError: Provider oracle.xml.jaxp.JXDocumentBuilderFactory not found
at javax.xml.parsers.FactoryFinder.newInstance(FactoryFinder.java:200)
at javax.xml.parsers.FactoryFinder.newInstance(FactoryFinder.java:152)
at javax.xml.parsers.FactoryFinder.find(FactoryFinder.java:232)
at javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:120)
at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:2676)
at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:2653)
at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:2559)
at org.apache.hadoop.conf.Configuration.get(Configuration.java:1078)
at org.apache.hadoop.conf.Configuration.getTrimmed(Configuration.java:1132)
at org.apache.hadoop.conf.Configuration.getInt(Configuration.java:1359)
at org.apache.hadoop.hdfs.protocol.HdfsConstants.<clinit>(HdfsConstants.java:81)
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.createBlockOutputStream(DFSOutputStream.java:1725)
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.nextBlockOutputStream(DFSOutputStream.java:1668)
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:790)
Caused by: java.lang.ClassNotFoundException: oracle/xml/jaxp/JXDocumentBuilderFactory
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at javax.xml.parsers.FactoryFinder.getProviderClass(FactoryFinder.java:124)
at javax.xml.parsers.FactoryFinder.newInstance(FactoryFinder.java:188)
... 13 more
我正在尝试调试并找到根本原因,但是不确定是否是由于“引起原因:java.lang.ClassNotFoundException:oracle / xml / jaxp / JXDocumentBuilderFactory”或“ DataStreamer Exception”引起的。日志同时显示。任何帮助将不胜感激。