0

我正在尝试在本地运行 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 "&#2" 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 "&#2" is an invalid XML character.

相同的加载/转储在 Elastic MapReduce 上运行良好。

我找不到任何 XML 配置文件,我已经尝试使用 0.9.2 和 0.10.0 版本

我错过了什么?

编辑:刚刚检查了直接下载(与自制软件相比),它似乎也不起作用

4

2 回答 2

0

您应该检查您的 Hadoop 配置文件是否具有正确的配置数据。

看看你的 hadoop/conf 目录。

看看里面:

hdfs-site.xml mapred-site.xml core-site.xml

于 2012-07-17T09:10:26.920 回答
0

终于搞清楚问题出在哪里了。我最终不得不dtruss -p在 pig/java 进程上使用。这显示了一个临时目录和动态生成的 xml 文件。发现临时目录后,一切都很快到位。

它正在从我的网络连接中提取代理排除项,据我所知,该代理已嵌入其中&#2http://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&#2;|*.h&#2;</value></property>
<property><name>socksNonProxyHosts</name><value>localhost|*.localhost|127.0.0.1|h&#2;|*.h&#2;</value></property>
<property><name>http.nonProxyHosts</name><value>localhost|*.localhost|127.0.0.1|h&#2;|*.h&#2;</value></property>
于 2012-07-18T09:39:52.603 回答