首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cront不能与shell脚本中的hadoop命令一起使用

cront不能与shell脚本中的hadoop命令一起使用
EN

Stack Overflow用户
提问于 2012-06-29 02:43:57
回答 1查看 1.8K关注 0票数 1

我正在尝试使用crontab安排一个cronjob来执行一个shell脚本,该脚本将按顺序执行一系列hadoop命令,但是当我查看hadoop文件夹时,这些文件夹并没有被创建或删除。我们集群上的hadoop连接速度非常慢。因此,由于重试次数,这些hadoop命令可能需要一段时间才能执行。

Cron表达式

代码语言:javascript
复制
*/5 * * * * sh /test1/a/bin/ice.sh >> /test1/a/run.log 

shell脚本

代码语言:javascript
复制
#!/bin/sh

if [ $# == 1 ]
then
        TODAY=$1
else
        TODAY=`/bin/date +%m%d%Y%H%M%S`
fi

# define seed folder here
#filelist = "ls /test1/a/seeds/"

#for file in $filelist
for file in `/bin/ls /test1/a/seeds/`
do
        echo $file
        echo $TODAY
        INBOUND="hadoop fs -put /test1/a/seeds/$file /apps/hdmi-set/inbound/$file.$TODAY/$file"
        echo $INBOUND
        $INBOUND
        SEEDDONE="hadoop fs -put /test1/a/seedDone /apps/hdmi-set/inbound/$file.$TODAY/seedDone"
        echo $SEEDDONE
        $SEEDDONE
done

echo "hadoop Inbound folders created for job1 ..."
EN

回答 1

Stack Overflow用户

发布于 2012-06-29 04:09:21

由于没有捕获到可用于调试输出的输出,因此我只能推测。

但根据我过去的经验,hadoop作业在通过脚本生成时失败的一个常见原因是,在执行这些命令时,HADOOP_HOME不可用。

当直接从终端工作时,通常情况并非如此。尝试将以下内容添加到".bashrc“和".bash_profile”或“.profile”中:

代码语言:javascript
复制
export HADOOP_HOME=/usr/lib/hadoop

您可能需要根据您的特定安装更改路径。

是的,正如注释所说,不要只重定向标准输出,还要重定向文件中的错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11250978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档