linux定时任务执行hadoop脚本问题

最近在写一个Hadoop系列操作的调度脚本,由crontab调度执行。脚本单独执行没有任何问题,但是一旦执行hadoop相关操作,如hive、Hadoop相关命令,就莫名其妙的失败。查了很多资料,后来才发现是环境变量的问题,需要在脚本中添加“source /etc/profile”命令,对于具有多个用户不同配置的系统,则添加source ~/.base_profile。经过测试,果然有效。

此外,还需要注意的地方有:

1、在crontab调度器中,在脚本前加不加sh 都没有影响。

2、在所有脚本中批量添加“source /etc/profile " 的方法: sed -i -e "/bin/bash/asource /etc/profile" 。 如果是添加多行,可以用'\n' 连接相应的命令


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容