【问题标题】:Running Spark Jobs via Oozie通过 Oozie 运行 Spark 作业
【发布时间】:2015-05-31 00:30:24
【问题描述】:

是否可以运行 Spark 作业,例如通过 Oozie 执行 Spark-sql 作业?

过去,我们将 Oozie 与 Hadoop 结合使用。由于我们现在在 YARN 之上使用 Spark-Sql,因此正在寻找一种使用 Oozie 来安排作业的方法。

谢谢。

【问题讨论】:

    标签: hadoop apache-spark oozie


    【解决方案1】:

    是的,它可能...过程也相同,您必须为 Oozia 提供一个目录结构,该目录结构包含 coordinator.xmlworkflow.xml 和一个包含您的 Jar 文件的 lib 目录。
    但请记住,Oozie 使用 java -cp 命令开始工作,而不是使用 spark-submit,所以如果您必须使用 Oozie 运行它,这里有一个技巧。
    在后台使用spark-submit 运行你的jar。 在进程列表中查找该进程。它将在java -cp 命令下运行,但带有一些额外的罐子,由spark-submit 添加。在CLASS_PATH 中添加这些罐子。就是这样。现在您可以通过 Oozie 运行您的 Spark 应用程序了。

    1.  nohup spark-submit --class package.to.MainClass /path/to/App.jar &
    2.  ps aux | grep '/path/to/App.jar'
    

    已编辑:您还可以使用最新的 Oozie,它也有 Spark Action

    【讨论】:

    • 请您举例说明您是如何从 Oozie 工作流程触发此操作的。我尝试在 Oozie 中使用 命令,然后在 shell 脚本本身中运行 nohup spark-submit --class ... /path/to/app.jar &,但这似乎不起作用。 Oozie 似乎什么也没做,只是退出了,所以没有提交任何 spark 作业。我要做的是让 Oozie 提交 spark 作业然后退出(将作业标记为成功并已完成),因为否则它会消耗大量资源(至少 2 核和 2G 内存,我不能找到让它走低)。非常感谢!
    • 我没听懂你,你到底想做什么,你能详细说明一下吗??
    • 您好 Zia,感谢您的回复。当您使用 Oozie 运行 Spark 作业时,假设 Spark 作业需要 20 分钟才能完成,通常 Oozie 作业将在 Spark 作业完成后完成,即 20 分钟后完成。我想做的是在spark-submit 运行后立即尽早完成Oozie 进程(即通过使用nohup 或disown 在后台运行Spark 作业)。您可能不想为普通的 Spark 作业执行此操作,但对于 Spark 流式传输来说,这是有道理的,因为 Spark 流式传输作业 24/7 不间断运行。也许我不应该将 Oozie 用于 Spark Streaming...
    • 哦,我现在明白了。是的火花流为什么要使用 Oozie?由于火花流连续运行,Oozie 用于我们必须在间隔后安排作业的地方。无论如何,如果您仍然想要这个,那么最好的选择是使用您的代码运行命令。但为此,您必须在守护线程中使用<exec> 命令。这样你的命令就可以在程序终止后运行。
    • 好,是的,这是一种完美的方式,通过 Oozie 安排批处理作业并使用 spark-submit 运行流作业。我也使用相同的技术。
    【解决方案2】:

    要运行 Oozie 的 Spark SQL,您需要使用 Oozie Spark Action。 您可以在您的发行版中找到 oozie.gz。通常在 cloudera 中,您可以在下面的路径中找到这个 oozie 示例目录。 ]$ 定位 oozie.gz /usr/share/doc/oozie-4.1.0+cdh5.7.0+267/oozie-examples.tar.gz

    Spark SQL 需要 hive-site.xml 文件才能执行,您需要在 workflow.xml 中提供该文件

    --file /hive-site.xml

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多