我正在尝试使用自制程序在本地运行pig来测试脚本。但是,当我尝试从交互式提示符pig -x local
运行简单转储时出现以下错误:
2012-07-16 23:20:40,447 [Thread-7] INFO org.apache.pig.backend.hadoop.executionengine.util.MapRedUtil - Total input paths (combined) to process : 1
[Fatal Error] :63:85: Character reference "" is an invalid XML character.
2012-07-16 23:20:40,688 [Thread-7] FATAL org.apache.hadoop.conf.Configuration - error parsing conf file: org.xml.sax.SAXParseException: Character reference "" is an invalid XML character.
相同的加载/转储在Elastic MapReduce上工作正常。
我找不到任何XML配置文件,我试过版本0.9.2和0.10.0
我错过了什么?
编辑:刚检查了直接下载(与自制程序相比),它似乎无法正常工作
答案 0 :(得分:0)
您应该检查您的Hadoop配置文件是否具有正确的配置数据。
查看您的hadoop / conf目录。
看看里面:
HDFS-site.xml中 mapred-site.xml中 芯的site.xml
答案 1 :(得分:0)
最后解决了问题所在。我最终不得不在pig / java进程中使用dtruss -p
。这揭示了一个临时目录和动态生成的xml文件。一旦发现临时目录,它就会迅速到位。
它正在从我的网络连接中取出代理排除,据我所知,
(http://www.fileformat.info/info/unicode/char/02/index.htm)嵌入其中。首先,我的网络偏好中的这个无效值如何,我没有最微弱的线索。
然后将该值拉入动态生成的文件中,例如/tmp/hadoop-vertis/mapred/staging/vertis-1005847898/.staging/job_local_0001/job.xml
。
违规行:
<property><name>ftp.nonProxyHosts</name><value>localhost|*.localhost|127.0.0.1|h|*.h</value></property>
<property><name>socksNonProxyHosts</name><value>localhost|*.localhost|127.0.0.1|h|*.h</value></property>
<property><name>http.nonProxyHosts</name><value>localhost|*.localhost|127.0.0.1|h|*.h</value></property>