gpt4 book ai didi

hadoop - Spark 应用程序报告内存不足的 Oozie 工作流

转载 作者:可可西里 更新时间:2023-11-01 16:29:18 28 4
gpt4 key购买 nike

我尝试使用 spark 程序作为单步执行 Oozie 工作流。我使用了通过 spark-submit 或 spark-shell 成功执行的 jar(相同的代码):

spark-submit --packages com.databricks:spark-csv_2.10:1.5.0  --master yarn-client --class "SimpleApp"  /tmp/simple-project_2.10-1.1.jar

应用程序不应需要大量资源——使用 spark 将单个 csv (<10MB) 加载到 hive。

  • 星火版本:1.6.0
  • Oozie 版本:4.1.0

工作流是使用 Hue、Oozie 工作流编辑器创建的:

<workflow-app name="Spark_test" xmlns="uri:oozie:workflow:0.5">
<start to="spark-589f"/>
<kill name="Kill">
<message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<action name="spark-589f">
<spark xmlns="uri:oozie:spark-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<configuration>
<property>
<name>mapreduce.map.java.opts</name>
<value>-XX:MaxPermSize=2g</value>
</property>
</configuration>
<master>yarn</master>
<mode>client</mode>
<name>MySpark</name>
<jar>simple-project_2.10-1.1.jar</jar>
<spark-opts>--packages com.databricks:spark-csv_2.10:1.5.0</spark-opts>
<file>/user/spark/oozie/jobs/simple-project_2.10-1.1.jar#simple-project_2.10-1.1.jar</file>
</spark>
<ok to="End"/>
<error to="Kill"/>
</action>
<end name="End"/>
</workflow-app>

运行工作流后我得到了以下日志:

标准输出:

Invoking Spark class now >>> Invocation of Main class completed <<<

Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.SparkMain], exception invoking main(), PermGen space

标准错误:

Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Yarn application state monitor" Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.SparkMain], exception invoking main(), PermGen space

系统日志:

2017-03-14 12:31:19,939 ERROR [main] org.apache.hadoop.mapred.YarnChild: Error running child : java.lang.OutOfMemoryError: PermGen space

请建议应该增加哪些配置参数。

最佳答案

这里至少有 2 个选项:1) 通过将此添加到 workflow.xml 来增加启动器 MR 作业的 PermGen 大小:

<property>
<name>oozie.launcher.mapreduce.map.java.opts</name>
<value>-XX:PermSize=512m -XX:MaxPermSize=512m</value>
</property>

在这里查看详细信息:http://www.openkb.info/2016/07/memory-allocation-for-oozie-launcher-job.html

2) 首选方法是使用 Java 8 而不是过时的 Java 7

关于hadoop - Spark 应用程序报告内存不足的 Oozie 工作流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42785649/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com