Проблема состоит в том, что сценарии, которые инициализируют демоны dfs и mapreduce, не имеют JAVA_HOME, определенного в его среде.
Вероятно, при выполнении HDFS и MapReduce его среда выполнения является той, которая указана сценарием $ HADOOP_HOME/conf/hadoop-env.sh.Следовательно, было бы достаточно определить JAVA_HOME в $ HADOOP_HOME / conf / hadoop-env.sh:
export JAVA_HOME=jdk-home-path
В противном случае, если этого недостаточно, проблема может заключаться в том, что используется среда конфигурации(hadoop-env.sh) не тот, которого мы ожидаем;hadoop выбирает другое или значение по умолчанию, если ничего не найдено.Самым быстрым решением будет определение каталога conf, в котором находится скрипт hadoop-env.sh.Установка переменной среды HADOOP_CONF_DIR будет достаточной:
export HADOOP_CONF_DIR=hadoop-home-path/conf