我按照pig.apache.org上的所有步骤操作,但无法通过设置java变量来删除此错误。我在安装java jdk时更早地设置变量,但它再次询问变量。
答案 0 :(得分:3)
您需要了解环境变量在Linux(或Windows)中的工作方式。
您可能只是在用于执行安装的shell中临时设置JAVA_HOME。要永久地设置JAVA_HOME(在Linux / UNIX上),您需要在shell中设置它" rc"每次创建新shell时都会运行的文件。 (这取决于您使用的是哪个shell,但man
可以告诉您有关...)
答案 1 :(得分:2)
如果您在ubuntu上安装PIG,请执行此操作
使用下面的命令打开bashrc文件,并将行放到文件的末尾
vi ~/.bashrc
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-i386
然后注销或重新启动系统,然后重试。
对于CentOS
创建一个名为java.sh
的新文件 vim /etc/profile.d/java.sh
在此文件中,初始化必要的环境变量
export JRE_HOME=/usr/java/jdk1.5.0_12/jre
export PATH=$PATH:$JRE_HOME/bin
export JAVA_HOME=/usr/java/jdk1.5.0_12
export JAVA_PATH=$JAVA_HOME
export PATH=$PATH:$JAVA_HOME/bin
用java安装替换java路径。 Source
答案 2 :(得分:0)
要为当前shell设置JAVA_HOME变量,请使用export
命令。这将立即为JAVA_HOME创建一个环境变量,但是当shell关闭时,该变量将丢失。
export JAVA_HOME=<path_to_java_sdk>
为Pig和Hadoop设置JAVA_HOME环境变量的最佳方法是将其添加到本地rc文件中。原因是Hadoop(Cloudera,Hortonworks,MapR)的某些发行版可能包含他们自己的Hadoop应用程序本身的Java安装。您可能不想创建全局环境变量,因为它可能会干扰Hadoop / Hive /等。
要在服务器上为各个Hadoop / Pig用户设置变量,他们需要运行以下命令:
echo "export JAVA_HOME=<path_to_java_sdk>" >> ~/.bashrc
在执行该命令后,他们可以source ~/.bashrc
实例化环境变量。