Вопрос или проблема
Я пытаюсь установить Hadoop, используя руководство с сайта tutorialspoint. Я только что успешно установил hadoop2.9.0. Затем я попытался настроить именованный узел, используя команду «hdfs namenode -format» следующим образом.
$ hdfs namenode -format
Тем не менее терминал ответил мне:
bash: /usr/local/hadoop/bin/hdfs: Permission denied
Тогда я сделал следующее:
mike@mike-thinks:~$ sudo chown -R mike /usr/local/hadoop
Но даже после этого я все еще получаю:
mike@mike-thinks:~$ sudo hdfs namenode -format
sudo: hdfs: command not found
Я надеюсь, что эта ошибка уже решена, но эта ошибка возникает, потому что путь hdfs, возможно, не установлен, поэтому сначала проверьте путь hdfs, используя эту команду,
which hdfs
если путь не установлен, тогда проверьте переменную среды в ~/.bash_profile, если PATH написан следующим образом,
PATH=$PATH:$HOME/bin
измените его на PATH=$PATH:$HADOOP_HOME/bin
source ~/.bash_profile
затем проверьте свой путь hdfs, если он установлен с помощью команды which (как показано выше). Тогда ваша проблема может быть решена. Надеюсь, это поможет!
Ответ или решение
Если вы столкнулись с проблемой при выполнении команды hdfs: command not found
в процессе установки Hadoop версии 2.9.0, вам следует проверить несколько аспектов настройки системы и переменных среды. Давайте подробно рассмотрим шаги, которые могут помочь вам решить эту проблему.
Шаг 1: Проверка разрешений на файлы
Сначала убедитесь, что вы действительно владеете всеми необходимыми правами доступа к файлам Hadoop. Вы уже изменили владельца папки на вашего пользователя с помощью команды:
sudo chown -R mike /usr/local/hadoop
Это правильный подход, поскольку он гарантирует, что ваш пользователь имеет необходимые права на изменение и выполнение файлов в директории Hadoop. Однако, после изменения владельца, уделите внимание следующим действиям.
Шаг 2: Проверка переменных среды
Отсутствие команды hdfs
в системе говорит о том, что ваша система может не знать, где находится исполняемый файл хранилища Hadoop. В большинстве случаев это связано с неправильной настройкой переменных среды. Выполните следующие шаги:
-
Проверьте текущий путь к
hdfs
:which hdfs
Если результат пустой, это означает, что система не может найти команду
hdfs
. -
Настройте переменную среды PATH:
Откройте файл
.bash_profile
,.bashrc
или аналогичный файл конфигурации вашей оболочки. Добавьте или измените строку, чтобы убедиться, что путь к исполняемым файлам Hadoop добавлен:export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/bin
-
Перезагрузите параметры профиля:
Примените изменения, выполнив команду:
source ~/.bash_profile
-
Проверьте наличие команды еще раз:
Повторите команду
which hdfs
, чтобы убедиться, что система теперь видит путь.
Шаг 3: Проверка установки Java
Hadoop требует установленную Java. Убедитесь, что Java правильно настроена в вашей системе. Выполните команду:
java -version
Если Java не установлена или версия не соответствует требованиям Hadoop, установите или обновите Java и настройте JAVA_HOME
в вашем профиле конфигурации:
export JAVA_HOME=/path/to/java
export PATH=$JAVA_HOME/bin:$PATH
Заключение
Следуя вышеуказанным шагам, вы должны решить проблему с командой hdfs: command not found
. Эти шаги помогут не только установить правильные переменные окружения, но и убедиться, что все необходимые зависимости настроены соответствующим образом. Если проблема сохраняется, рассмотрите возможность проверки логов или консоли на более подробные сообщения об ошибках, которые могут подсказать дальнейшие действия. Надеюсь, эта информация поможет вам успешно запустить Hadoop!