当前位置: 首页 > 知识库问答 >
问题:

Hadoop/Hive命令无法从Crontab工作

呼延衡
2023-03-14

我无法从Crontab执行hadoop/hive命令。基本上,我已经在crontab中安排了一个perl脚本,其中包含在操作之前设置路径的系统命令。

我知道,从cron运行的env可能与常规shell不同。这就是我设置如下路径的原因。有没有其他办法让它发挥作用?

系统(“/home/ciber/.bash_profile”);

系统("导出JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64");

系统(“导出HADOOP_安装=~/poc/INSTALL/HADOOP-1.0.3”);

系统(“导出路径=$PATH:$HADOOP_安装/bin”);

系统(“导出HADOOP_HOME=$HADOOP_安装”);

系统("导出HIVE_INSTALL=~/poc/安装/hive-0.9.0");

系统(“导出路径=$PATH:$HIVE_INSTALL/bin”);

@经国瑶:你对这个有什么想法吗?

共有2个答案

景靖琪
2023-03-14

如果它是从终端而不是在crontab中正确执行的,那么在脚本中加载用户bash概要文件应该完成以下工作

. ~/.bash_profile

或者

. /home/<user>/.bash_profile

通常<代码>#!/bin/bash包含在bash_profile中,它也将具有用户特定的配置。

公良云
2023-03-14

您可以在crontab命令的绝对路径。另外,你可以简单地在crontab中声明env变量。例如foo=bar

 类似资料:
  • 本文向大家介绍Linux命令下crontab命令,包括了Linux命令下crontab命令的使用技巧和注意事项,需要的朋友参考一下 crontab是一个用来设置、删除或显示供守护进程cron执行的定时任务的命令。每一个用户都可以拥有属于自己的定时任务,定时任务文件默认以用户名命名,并放在/var/spool/cron目录,该目录普通用户无访问权限。   可以通过cron.allow 和 cron.

  • 问题内容: 问题是 我的配置是 设置conf / hadoop-env.sh 我知道有一个与此问题类似的问题(http://codingdict.com/questions/122917)。但是我已经在这里安装了Sun jdk。因此,任何帮助将不胜感激。 问题答案: 这实际上不是Hadoop问题。Hadoop不使用JPS。 如果找不到JPS,则必须将其放入路径或创建别名。可以在下找到JPS可执行文

  • IM 创建一个 groovy 脚本,用于从 docker 容器执行 SQL 脚本。这是我要执行的命令 当我从终端执行它时,它是有效的,但是当我调用我的groovy脚本来执行那一行时,我得到一个mysql帮助,就像命令不正确一样。 这就是我从groovy执行命令的方式: 有人知道为什么结果不一样或者为什么命令无法识别吗?

  • 目的 这篇文档的目的是帮助你快速完成单机上的Hadoop安装与使用以便你对Hadoop分布式文件系统(HDFS)和Map-Reduce框架有所体会,比如在HDFS上运行示例程序或简单作业等。 先决条件 支持平台 GNU/Linux是产品开发和运行的平台。 Hadoop已在有2000个节点的GNU/Linux主机组成的集群系统上得到验证。 Win32平台是作为开发平台支持的。由于分布式操作尚未在Wi

  • 目的 这篇文档的目的是帮助你快速完成单机上的Hadoop安装与使用以便你对Hadoop分布式文件系统(HDFS)和Map-Reduce框架有所体会,比如在HDFS上运行示例程序或简单作业等。 先决条件 支持平台 GNU/Linux是产品开发和运行的平台。 Hadoop已在有2000个节点的GNU/Linux主机组成的集群系统上得到验证。 Win32平台是作为开发平台支持的。由于分布式操作尚未在Wi

  • 问题内容: 我正在尝试在Hadoop 2.6.0上使用Hive 1.2.0。我已经创建了一张桌子。但是,当我运行以下查询时: 我收到以下错误: 我在这里做什么错?我需要设置任何特定的权限吗?提前致谢! 问题答案: 正如Rio提到的那样,该问题涉及缺少将数据加载到配置单元表中的权限。我发现以下命令可以解决我的问题: