【问题标题】:spark-submit scheduling in croncron 中的 spark-submit 调度
【发布时间】:2018-09-07 18:56:40
【问题描述】:

我想在 crontab 中安排一个 pyspark 脚本每 5 分钟运行一次。我已经使用这个命令成功地手动启动了脚本:

spark-submit script.py

问题是从 crontab 启动时,相同的命令似乎不起作用。日志不显示任何细节(它们被截断)

*/5 * * * * /path/script.sh

文件script.sh包含:spark-submit script.py

如果您对如何解决此问题有任何想法,请告诉我。

【问题讨论】:

  • 有趣的阅读:调试 crontab stackoverflow.com/tags/crontab/info 。可能有很多不同的原因,所以请检查一下
  • 感谢您的链接!我做了一些测试,crontab 似乎可以执行其他命令。问题是由于某些原因,它与 spark-submit 不“兼容”。

标签: unix apache-spark crontab


【解决方案1】:

你应该把它放在一个 bash 文件中并在 cron 上运行它:

Bash 文件Your_Script.sh:

#!/bin/bash
echo "RUNNING JOB"
/opt/mapr/spark/spark-1.5.2/bin/spark-submit /Path/To/Your_Script.py parama1

所以你可以像这样从 crantab 轻松运行它:

32 18 * * *  /Path/To/Your_Script.sh

【讨论】:

  • 想通过您的 bin 提交路径更改 /opt/mapr/spark/spark-1.5.2/
【解决方案2】:

我和你遇到了同样的问题。我通过 2 个步骤解决了:

  1. 查看 cron 日志:日志的路径是 Centos 中的 /var/spool/mail/${username}。 我的日志显示:找不到 hadoop 和 $JAVA_HOME

  2. source /etc/profile :因为在我的操作系统的 /etc/profile 中配置了 $JAVA_HOME 和 $HADOOP_HOME。如果 $JAVA_HOME 和 $HADOOP_HOME 配置在 ~/.bashrc 中,应该source ~/.bashrc

【讨论】:

    猜你喜欢
    • 2017-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-28
    • 2016-09-04
    • 1970-01-01
    • 2015-12-25
    • 1970-01-01
    相关资源
    最近更新 更多