Hadoop单节点安装-格式化错误-Prolog中不允许内容

3
我正在尝试进行Hadoop单节点安装。
我正在遵循this文章中的Hadoop安装说明。其中一步需要使用以下命令格式化Hadoop文件系统: hduser@dbserver:~/hadoop/conf$ /home/hduser/hadoop/bin/hadoop namenode -format
hduser@dbserver:~/hadoop/conf$ /home/hduser/hadoop/bin/hadoop namenode -format
12/02/06 18:24:31 INFO namenode.NameNode: STARTUP_MSG: 
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG:   host = dbserver/127.0.1.1
STARTUP_MSG:   args = [-format]
STARTUP_MSG:   version = 0.20.203.0
STARTUP_MSG:   build = http://svn.apache.org/repos/asf/hadoop/common/branches/branch-    0.20-security-203 -r 1099333; compiled by 'oom' on Wed May  4 07:57:50 PDT 2011
 ************************************************************/
 [Fatal Error] core-site.xml:6:1: Content is not allowed in prolog.
 12/02/06 18:24:31 FATAL conf.Configuration: error parsing conf file:  org.xml.sax.SAXParseException: Content is not allowed in prolog.
 12/02/06 18:24:31 ERROR namenode.NameNode: java.lang.RuntimeException: org.xml.sax.SAXParseException: Content is not allowed in prolog.
at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:1237)
at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:1093)
at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:1037)
at org.apache.hadoop.conf.Configuration.set(Configuration.java:438)
at org.apache.hadoop.hdfs.server.namenode.NameNode.setStartupOption(NameNode.java:1124)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1141)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1162)
 Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog.
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:249)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:180)
at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:1142)
... 6 more

    12/02/06 18:24:31 INFO namenode.NameNode: SHUTDOWN_MSG: 
    /************************************************************
      SHUTDOWN_MSG: Shutting down NameNode at dbserver/127.0.1.1
    ************************************************************/

当我尝试格式化时,出现了上述错误消息。

欢迎提出任何解决此问题的建议 :)。

这里是@zensen提供的core-site.xml文件供您参考。

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

 <!-- Put site-specific property overrides in this file. -->

  n: conf/core-site.xml -->
  <property>
  <name>hadoop.tmp.dir</name>
  <value>/app/hadoop/tmp</value>
  <description>A base for other temporary directories.</description>
  </property>

    <property>
    <name>fs.default.name</name>
    <value>hdfs://localhost:54310</value>
    <description>The name of the default file system.  A URI whose
    scheme and authority determine the FileSystem implementation.  The
    uri's scheme determines the config property (fs.SCHEME.impl) naming
     the FileSystem implementation class.  The uri's authority is used to
    determine the host, port, etc. for a filesystem.</description>
   </property><configuration>

~

2个回答

5

好的,这并不是一个Hadoop的问题。

org.xml.sax.SAXParseException: Content is not allowed in prolog.

这意味着您的XML文件不正确。更准确地说,它在<?xml之前包含一些字符。在core-site.xml中,在<?xml之前是否有任何字符?如果有,请将其删除。请记住,这些字符可能不会在所有编辑器中显示(取决于编码方式)。


感谢Zenzen提供的宝贵提示。我在Ubuntu终端中使用VI编辑器,但是在<?xml?之前没有看到任何字符。 - Nik
问题已经解决。这是core-site.xml文件中的格式错误。非常感谢您提供的帮助。 - Nik
1
没问题。第一次设置时我也遇到了困难 :) 以后请注意:您可以为您喜欢的答案投票并将其标记为“已接受”(两个选项都在每个答案旁边)。 - Mateusz Dymczyk

2

错误:

[Fatal Error] core-site.xml:1:36: Element type "xml" must be followed by either attribute specifications, ">" or "/>".
16/09/05 13:59:48 FATAL conf.Configuration: error parsing conf core-site.xml
org.xml.sax.SAXParseException; systemId: file:/home/amtex/Documents/installed/hadoop/etc/hadoop/core-site.xml; lineNumber: 1; columnNumber: 36; Element type "xml" must be followed by either attribute specifications, ">" or "/>".
    at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
    at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
    at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:150)
    at org.apache.hadoop.conf.Configuration.parse(Configuration.java:2480)
    at org.apache.hadoop.conf.Configuration.parse(Configuration.java:2468)
    at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:2539)
    at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:2492)
    at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:2405)
    at org.apache.hadoop.conf.Configuration.set(Configuration.java:1143)
    at org.apache.hadoop.conf.Configuration.set(Configuration.java:1115)
    at org.apache.hadoop.conf.Configuration.setBoolean(Configuration.java:1451)
    at org.apache.hadoop.util.GenericOptionsParser.processGeneralOptions(GenericOptionsParser.java:321)
    at org.apache.hadoop.util.GenericOptionsParser.parseGeneralOptions(GenericOptionsParser.java:487)
    at org.apache.hadoop.util.GenericOptionsParser.<init>(GenericOptionsParser.java:170)
    at org.apache.hadoop.util.GenericOptionsParser.<init>(GenericOptionsParser.java:153)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1422)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1559)
16/09/05 13:59:48 ERROR namenode.NameNode: Failed to start namenode.
java.lang.RuntimeException: org.xml.sax.SAXParseException; systemId: file:/home/amtex/Documents/installed/hadoop/etc/hadoop/core-site.xml; lineNumber: 1; columnNumber: 36; Element type "xml" must be followed by either attribute specifications, ">" or "/>".
    at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:2645)
    at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:2492)
    at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:2405)
    at org.apache.hadoop.conf.Configuration.set(Configuration.java:1143)
    at org.apache.hadoop.conf.Configuration.set(Configuration.java:1115)
    at org.apache.hadoop.conf.Configuration.setBoolean(Configuration.java:1451)
    at org.apache.hadoop.util.GenericOptionsParser.processGeneralOptions(GenericOptionsParser.java:321)
    at org.apache.hadoop.util.GenericOptionsParser.parseGeneralOptions(GenericOptionsParser.java:487)
    at org.apache.hadoop.util.GenericOptionsParser.<init>(GenericOptionsParser.java:170)
    at org.apache.hadoop.util.GenericOptionsParser.<init>(GenericOptionsParser.java:153)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1422)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1559)
Caused by: org.xml.sax.SAXParseException; systemId: file:/home/amtex/Documents/installed/hadoop/etc/hadoop/core-site.xml; lineNumber: 1; columnNumber: 36; Element type "xml" must be followed by either attribute specifications, ">" or "/>".
    at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
    at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
    at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:150)
    at org.apache.hadoop.conf.Configuration.parse(Configuration.java:2480)
    at org.apache.hadoop.conf.Configuration.parse(Configuration.java:2468)
    at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:2539)
    ... 11 more
16/09/05 13:59:48 INFO util.ExitUtil: Exiting with status 1
16/09/05 13:59:48 INFO namenode.NameNode: SHUTDOWN_MSG: 

检查 core-site.xml 文件中的 xml 语法。

解决方案:

<xml version="1.0" encoding="UTF-8"?>
to 
<?xml version="1.0" encoding="UTF-8"?>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接