【发布时间】:2017-03-14 12:10:05
【问题描述】:
我尝试使用 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 (
- Spark 版本: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>
运行工作流后我得到以下日志:
标准输出:
现在调用 Spark 类 >>> 主类调用完成
Oozie Launcher 失败,主类 [org.apache.oozie.action.hadoop.SparkMain],异常调用 main(),PermGen 空间
标准错误:
异常:从线程“Yarn 应用程序状态监视器”中的 UncaughtExceptionHandler 抛出 java.lang.OutOfMemoryError Oozie Launcher 失败,主类 [org.apache.oozie.action.hadoop.SparkMain],异常调用 main(),PermGen 空间
系统日志:
2017-03-14 12:31:19,939 错误 [main] org.apache.hadoop.mapred.YarnChild:运行子错误:java.lang.OutOfMemoryError:PermGen 空间
请建议应该增加哪些配置参数。
【问题讨论】:
标签: hadoop apache-spark memory workflow oozie