' JAVA_HOME未设置'安装猪时出错。该怎么办?

时间:2014-03-15 09:31:47

标签: java hadoop apache-pig

我按照pig.apache.org上的所有步骤操作,但无法通过设置java变量来删除此错误。我在安装java jdk时更早地设置变量,但它再次询问变量。

3 个答案:

答案 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实例化环境变量。