Ошибка при установке Hadoop. Java_home не установлен [дубликат]

Если у вас есть эта ошибка с Symfony с помощью построителя запросов doctrine, и если эта ошибка вызвана orderBy:

Обратите внимание на select столбец, который вы хотите groupBy, и используйте addGroupBy вместо groupBy:

$query = $this->createQueryBuilder('smth')->addGroupBy('smth.mycolumn');

Работает на Symfony3 -

21
задан Dave Newton 14 January 2013 в 22:23
поделиться

11 ответов

Я использую hasoop 1.1, я также столкнулся с этой проблемой.

Я изменил переменную JAVA_HOME в conf / hadoop-env.sh

export JAVA_HOME=/etc/local/java/<jdk folder>

теперь она работает

51
ответ дан 3 revs 24 August 2018 в 21:50
поделиться

Способ решения этой проблемы состоит в том, чтобы экспортировать переменную JAVA_HOME в файл conf / hadoop-env.sh.

Неважно, если вы уже экспортировали эту переменную в ~ / .bashrc, он все равно покажет ошибку.

Итак, отредактируйте conf / hadoop-env.sh и раскомментируйте строку «export JAVA_HOME» и добавьте к ней правильный путь к файловой системе, то есть путь к вашему Java JDK.

# Реализация Java для использования. Необходимые. экспорт JAVA_HOME = "/ path / to / java / JDK /"

18
ответ дан bitek 24 August 2018 в 21:50
поделиться

Я также столкнулся с аналогичной проблемой в hadoop 1.1. Я не заметил, что JAVA_HOME был прокомментирован в: hadoop/conf/hadoop-env.sh

Было

/#JAVA_HOME=/usr/lib/jvm/java-6-oracle

измените его на

JAVA_HOME=/usr/lib/jvm/java-6-oracle
1
ответ дан Hristo Eftimov 24 August 2018 в 21:50
поделиться
echo "export JAVA_HOME=/usr/lib/java" >> $HADOOP_HOME/etc/hadoop/hadoop-env.sh

Примечание: Не используйте export JAVA_HOME=${JAVA_HOME}!

0
ответ дан JsonBruce 24 August 2018 в 21:50
поделиться

Выйти в ту же тему на ubuntu LTS 16.04. Запуск bash -vx ./bin/hadoop показал, что он проверял, является ли java каталогом. Поэтому я изменил JAVA_HOME в папку, и он сработал.

++ [[ ! -d /usr/bin/java ]]
++ hadoop_error 'ERROR: JAVA_HOME /usr/bin/java does not exist.'
++ echo 'ERROR: JAVA_HOME /usr/bin/java does not exist.'
ERROR: JAVA_HOME /usr/bin/java does not exist.

Итак, я изменил JAVA_HOME в ./etc/hadoop/hadoop-env.sh на

export JAVA_HOME=/usr/lib/jvm/java-8-oracle/jre/

, и hasoop начал нормально. Это также упоминается в этой статье .

0
ответ дан kometen 24 August 2018 в 21:50
поделиться

независимо от debian или любого вкуса linux, просто знайте, что ~/.bash_profile принадлежит определенному пользователю и не является системным. в псевдораспределенной среде hasoop работает на localhost, поэтому $JAVA_HOME в .bash_profile больше не используется.

просто экспортирует JAVA_HOME в ~/.bashrc и использует его в системной области.

1
ответ дан Mr. Crowley 24 August 2018 в 21:50
поделиться

extract from etc / hadoop / hadoop-env.sh

Единственной требуемой переменной среды является JAVA_HOME. Все остальные являются необязательными. При запуске распределенной конфигурации лучше всего установить JAVA_HOME в этом файле, чтобы он был правильно определен на удаленных узлах.

Это означает, что лучше и рекомендуется установить JAVA_HOME здесь .. хотя существующее определение читается переменная JAVA_HOME. Возможно, он не получает значение JAVA_HOME от ранее установленного значения ... стандартное руководство Apache не говорит об этом :(: (

1
ответ дан Nitesh Chaturvedi 24 August 2018 в 21:50
поделиться

Измените переменную JAVA_HOME в conf/hadoop-env.sh

export JAVA_HOME=/etc/local/java/<jdk folder>
0
ответ дан Paul Roub 24 August 2018 в 21:50
поделиться

Способ отладки заключается в том, чтобы поставить «echo $ JAVA_HOME» в start -all.sh. Вы используете свою среду hadoop под другим именем пользователя или как себя? Если первое, очень вероятно, что переменная среды JAVA_HOME не установлена ​​для этого пользователя.

Другая потенциальная проблема заключается в том, что вы неправильно указали JAVA_HOME, а предоставленное вами значение не указывает на JDK / JRE. Обратите внимание, что «java» и «java -version» будут работать, даже если JAVA_HOME установлен неверно.

1
ответ дан Paul Sanwald 24 August 2018 в 21:50
поделиться

Проверьте, соответствуют ли ваши альтернативы правильному, вы можете фактически указывать на другую версию и пытаться изменить hasoop-env.sh на другой установленной версии.

-alternatives --install / etc / hadoop / conf [generic_name] [ваш правильный путь] приоритет {для дополнительной проверки справочной страницы альтернатив}

для установки альтернатив вручную,

alternatives --set [generic name] [ваш текущий путь].

0
ответ дан Rajarsh 24 August 2018 в 21:50
поделиться

Эта ошибка исходит от строки 180

if [[ -z $JAVA_HOME ]]; then
   echo "Error: JAVA_HOME is not set and could not be found." 1>&2
   exit 1
fi

в libexec/hadoop-config.sh.

Попробуйте выполнить эхо $JAVA_HOME в этом скрипте. Если он не распознается,

Найдите свой JAVA_HOME, используя это:

$(readlink -f /usr/bin/javac | sed "s:/bin/javac::")

и замените строку

export JAVA_HOME=${JAVA_HOME} в /etc/hadoop/hadoop-env.sh с JAVA_HOME, который вы получили из команды выше.

1
ответ дан whitewalker 24 August 2018 в 21:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: