打jar包至服务器上运行
来源:7-11 Hive DDL之数据库操作
酱汁怪兽
2021-08-24
老师,您好!
关于写完的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的方法?
写回答
1回答
-
Michael_PK
2021-08-26
定时执行脚本,直接配置在crontab -e 这个里面就可以呢
/etc/crontab这个我没有使用过。
在/home/hadoop/lib/hadoop-goldtest-v1-1.0-SNAPSHOT.jar路径下,手动运行jar包也是正常出结果。
定时就不行,这个感觉是你的环境变量不对,你在脚本中设置HOME=/ 是做什么用?是不是这里引发的路径不对了
032021-09-07
相似问题