Ошибка «JAVA_HOME не установлена» при установке pig. Что с этим делать?

1

Я выполнил все шаги на pig.apache.org, но не смог удалить эту ошибку, установив переменную java. Я устанавливал переменную раньше при установке java jdk, но снова запрашивал переменную.

Теги:
hadoop
apache-pig

3 ответа

2
Лучший ответ

если вы устанавливаете 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. Источник

  • 0
    Спасибо .... Но я устанавливаю свинью на CentOS. Какие шаги в этом случае.
  • 0
    1) Это JAVA_HOME, а не PIG_HOME. 2) Вы предполагаете, что конкретный каталог установки JDK. Что если он использует 64 бит? Java 7? Oracle, а не OpenJDK? 3) Вам не нужно перезагружать систему для перезапуска сеансов интерактивной оболочки пользователя. Достаточно просто выйти из системы и войти.
Показать ещё 4 комментария
3

Вам нужно понять, как переменные среды работают в Linux (или Windows).

Вероятно, вы только временно установили JAVA_HOME в оболочку, которую вы использовали для установки. Чтобы постоянно устанавливать JAVA_HOME (в Linux/UNIX), вам нужно установить его в файл оболочки "rc", который запускается каждый раз при создании новой оболочки. (Это зависит от того, какую оболочку вы используете, но man может рассказать вам об этом...)

0

Чтобы установить переменную 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 для создания экземпляра переменной окружения.

  • 0
    Я добавил 'export JAVA_HOME = <path>' в .bash_profile, но все же он показывает, что java_home не установлен при вводе команды pig в терминале. Что делать?
  • 0
    Если вы добавили его в свой профиль, то вам нужно получить исходный профиль, прежде чем вы сможете использовать переменную. source ~/.bash_profile
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню