老师,您好!
关于写完的shell脚本,是否可以通过什么方式,进行自动定时运行,并得出相应结果呢?
我尝试了crontab方法:
(1)在root下,创建goldShopEtl.sh
#!/bin/bash
hadoop jar /home/hadoop/lib/hadoop-goldtest-v1-1.0-SNAPSHOT.jar shopLogsServer.EtlStart hdfs://hadoop000:8020/project/input/raw/shopLogs/ hdfs://hadoop000:8020/project/output/goldtest/serverShopEtl/
(2)然后执行命令:每5分钟执行一次
[root@hadoop000 ~]# vim /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
*/5 * * * * root /root/goldShopEtl.sh >> /root/goldShopEtl
(3)输出的结果,放置于/root/goldShopEtl
目前结果出不来。
现在确定的是:
crontab正常运行,
在/home/hadoop/lib/hadoop-goldtest-v1-1.0-SNAPSHOT.jar路径下,手动运行jar包也是正常出结果。
我现在是否需要将jar包重新拷贝到crontab的相关路径,才能使用crontab?
或者是您这有什么定时运行Hadoop上shell的方法?