我要运行一些星火Python脚本为Oozie的工作流程,我在当地星火测试脚本,但是当我提交给Oozie的我可以”弄清楚为什么不工作。 我正在使用Cloudera VM,并使用Hue仪表板管理Oozie。下面是火花操作流程配置:运行火花蟒蛇的工作 - 拦截System.exit(1)
Spark Master: local[*]
Mode: client
App name: myApp
Jars/py files: hdfs://localhost:8120/user/cloudera/example.py
Main class: org.apache.spark
我想也运行一个简单的例子,只是打印的东西,但每个脚本我提交了Oozie给了我这样的输出:
>>> Invoking Spark class now >>>
Intercepting System.exit(1)
<<< Invocation of Main class completed <<<
Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.SparkMain], exit code [1]
Oozie Launcher failed, finishing Hadoop job gracefully
Oozie Launcher, uploading action data to HDFS sequence file: hdfs://quickstart.cloudera:8020/user/cloudera/oozie-oozi/0000005-161228161942928-oozie-oozi-W/spark-cc87--spark/action-data.seq
Oozie Launcher ends
[编辑]
我发现工作流程只有在设置了spark master:yarn-cluster时才会启动,但即使在这种模式下,它仍然启动了容器保持卡在95%完成状态,而Spark应用程序仍处于状态ACCEPTED状态。我试图改变Yarn内存参数以允许Spark动作启动。粗壮只是打印心跳
[解决]
的Oozie的工作流程开始仅当PY文件是本地的,并手动地插入lib文件夹色调创造了工作流的文件夹之后。我认为,最好的解决办法仍然是写一个shell脚本火花提交
是你的python hdfs位置正确吗? 'hdfs:// localhost:8120/user/cloudera/example.py' – mrsrinivas
是的,以前我将路径设置为/user/cloudera/example.py,并得到错误'file not found',但现在控制台只是说System.exit(1)。 –
“lib文件夹”,你的意思是在本地spark python文件夹中的lib文件夹? –