Я выполнил все шаги на pig.apache.org, но не смог удалить эту ошибку, установив переменную java. Я устанавливал переменную раньше при установке java jdk, но снова запрашивал переменную.
если вы устанавливаете PIG на ubuntu, сделайте это
открыть файл 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. Источник
Вам нужно понять, как переменные среды работают в Linux (или Windows).
Вероятно, вы только временно установили JAVA_HOME в оболочку, которую вы использовали для установки. Чтобы постоянно устанавливать JAVA_HOME (в Linux/UNIX), вам нужно установить его в файл оболочки "rc", который запускается каждый раз при создании новой оболочки. (Это зависит от того, какую оболочку вы используете, но man
может рассказать вам об этом...)
Чтобы установить переменную JAVA_HOME для текущей оболочки, используйте команду export
. Это немедленно создаст переменную среды для JAVA_HOME, но переменная будет потеряна, когда ваша оболочка будет закрыта.
export JAVA_HOME=<path_to_java_sdk>
Лучший способ установить переменную среды JAVA_HOME для использования Pig и Hadoop - это добавить ее в локальный файл rc. Причина этого в том, что некоторые дистрибутивы Hadoop (Cloudera, Hortonworks, MapR) могут включать в себя собственную установку Java для самого приложения Hadoop. Возможно, вы не захотите создать глобальную переменную окружения, так как это может помешать Hadoop/Hive/etc.
Чтобы иметь переменную, заданную для отдельных пользователей Hadoop/Pig на сервере, им необходимо выполнить следующую команду:
echo "export JAVA_HOME=<path_to_java_sdk>" >> ~/.bashrc
После выполнения команды они могут использовать source ~/.bashrc
для создания экземпляра переменной окружения.
source ~/.bash_profile