现象:创建了一个shell脚本任务,使用crontab进行任务调度,其中hive执行为:
hive -f /opt/test.sql > /opt/test.log 2>&1
任务调度起来后一直报错提示: /usr/bin/hive:行3: /parcels/sbin/configure.sh: 没有那个文件或目录
解决:
1.使用hive绝对路径:首先保证user用户有启动hive的权限(在user用户下使用hive看是否可以进入hive控制台),使用 /usr/bin/hive 来执行hive命令,则变为:
/usr/bin/hive -f /opt/test.sql > /opt/test.log 2>&1
添加后依然报错
2.添加环境变量,在shell脚本的最开始加入两行代码
#! /bin/bash
source ~/.bashrc
问题解决!