所以我昨晚安装了pig,解压缩了tar,并编辑了我的。bashrc,包括:
export PIG_HOME=/usr/lib/pig/pig-0.12.0
export PATH=$PATH:$PIG_HOME/bin
昨晚我运行了pig -h,运行了一些加载命令等,它工作得很好。现在今天早上,我尝试运行任何pig命令,它给了我以下错误:
Cannot locate pig-core-h2.jar. do 'ant -Dhadoopversion=23 jar', and try again
所以我试着运行ant -Dhadoopversion=23 jar
,我得到这个:
-bash: ant: command not found
我的问题是:为什么它运行发现昨晚,但今天早上它不会工作?我做错了什么?还有,我需要重新安装ant吗?我去了/usr/local/bin/,没有ant目录。我也运行了ant -version,但是没有找到命令。
但是为什么它昨晚还在工作呢?现在有什么不同?
这个错误来自猪二进制:
if [ -f $PIG_HOME/pig.jar ]; then
PIG_JAR=$PIG_HOME/pig.jar
else
PIG_JAR=`echo $PIG_HOME/pig-?.!(*withouthadoop).jar`
fi
if [ -n "$PIG_JAR" ]; then
CLASSPATH="${CLASSPATH}:$PIG_JAR"
else
echo "Cannot locate pig.jar. do 'ant jar', and try again"
exit 1
fi
变量$PIG_HOME
因此未定义,并且由于某些原因无法自动设置。只做:
export PIG_HOME=/path_to_your_pig