如何在cloudera集群中设置PIG_HEAPSIZE?

How to set PIG_HEAPSIZE in a cloudera cluster?

我有一个 pig 脚本,每次我从 Oozie 运行 时它都会内存不足。

错误:

Pig 日志文件转储:

Pig 堆栈跟踪

错误 2998:未处理的内部错误。 Java堆space

java.lang.OutOfMemoryError: Java heap space
        at java.lang.StringCoding$StringEncoder.encode(StringCoding.java:300)
        at java.lang.StringCoding.encode(StringCoding.java:344)
        at java.lang.StringCoding.encode(StringCoding.java:387)
        at java.lang.String.getBytes(String.java:956)

我尝试设置了很多参数但都没有成功。

如果我导出 PIG_HEAPSIZE = 4000.

来自命令行的相同猪脚本 运行s

感谢您的帮助!

在 Oozie(Workflow.xml) 脚本中添加这两行即可轻松完成:

<property>
     <name>oozie.launcher.mapred.child.java.opts</name>
     <value>-server -Xmx4G -Djava.net.preferIPv4Stack=true</value>
</property>

:)