【发布时间】:2017-07-08 19:07:51
【问题描述】:
我在 centOS 系统上安装了 hadoop。我有一个 shell 脚本,它将在某个特定小时文件夹位置生成的所有 HDFS 小文件合并到 hdfs 另一个位置的一个文件中。 调用时,shell 工作正常。
然后,我在每天上午 01:30 将 shell 作为 cron 作业运行。
我输入了crontab -e 并粘贴了这个:
30 1 * * * /home/hadoop/tmp/cron-merge-files.sh > /home/hadoop/tmp/cron-merge-files.txt
但是合并操作没有发生。我在/var/log/cron 文件中看到该条目在上午 01:30 出现,但我看不到这些文件在 hdfs 中合并。当我简单地执行
shell脚本,那么它就可以正常工作并执行脚本中编写的上述操作。
Jul 8 01:30:01 ip-10-1-3-111 CROND[2265463]: (hadoopuser) CMD (/home/hadoop/tmp/cron-merge-files.sh > /home/hadoop/tmp/cron-merge-files.txt)
/home/hadoop/tmp/cron-merge-files.txt 的内容是写在循环内的单个 echo 语句。循环应该运行 24 次,然后打印出来 24 次。
我不确定发生了什么。
【问题讨论】: