我研究了一些示例,并提出了下面两个看起来应该可行的示例,但只有第一个执行:
*/5 * * * * /data/db/test1.py > /data/db/text.txt && hadoop fs -put -f /data/db/text.txt /tmp/ >/dev/null 2>&1
我也尝试过
*/5 * * * * bash -c '/data/db/test1.py > /data/db/text.txt && hadoop fs -put -f /data/db/text.txt /tmp/' >/dev/null 2>&1
如果我在 shell 中分别运行这两个命令,它们就可以正常工作。
答案1
在调查我的邮件中的错误后,我没有 Kerberos 票证。 Kerberos 解决后,命令行就可以工作了。我编写了一个单独的脚本来实现 Kerberos 票证并运行本期中提到的两个命令。当我从 crontab 运行脚本时,一切正常