Команда hadoop fs не работает в моей системе

Вопрос или проблема

Я установил единственный кластерный узел на своем личном ноутбуке. Установка прошла успешно, и jps отображает все 5 демонов, но когда я пытаюсь войти в hdfs, используя команду hadoop fs, она показывает “команда не найдена”.

Может кто-то объяснить, в чем проблема и что нужно сделать, чтобы запустить команды hdfs?

Перейдите в директорию установки Hadoop

и введите

bin/hadoop fs -ls /

это вернет каталоги и файлы, доступные в HDFS

Я надеюсь, что в стандартном блоге, который вы следовали, Hadoop установлен здесь:
/usr/local/hadoop/bin

ls -l /usr/local/hadoop/bin
root@ashu-700-430qe:/usr/local/hadoop/bin# ls -lrt
total 440
-rwxr-xr-x 1 hduser hadoop   1776 Dec 17 18:52 rcc
-rwxr-xr-x 1 hduser hadoop   7072 Dec 17 18:52 hdfs.cmd
-rwxr-xr-x 1 hduser hadoop  11142 Dec 17 18:52 hdfs
-rwxr-xr-x 1 hduser hadoop   8298 Dec 17 18:52 hadoop.cmd
-rwxr-xr-x 1 hduser hadoop   5479 Dec 17 18:52 hadoop
-rwxr-xr-x 1 hduser hadoop  10895 Dec 17 18:52 yarn.cmd
-rwxr-xr-x 1 hduser hadoop  11380 Dec 17 18:52 yarn
-rwxr-xr-x 1 hduser hadoop 201707 Dec 17 18:52 test-container-executor
-rwxr-xr-x 1 hduser hadoop   5949 Dec 17 18:52 mapred.cmd
-rwxr-xr-x 1 hduser hadoop   5205 Dec 17 18:52 mapred
-rwxr-xr-x 1 hduser hadoop 159223 Dec 17 18:52 container-executor

Если это не так, найдите, где он установлен.
Как только вы найдете.

Затем sudo vi /etc/environment 
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/gradle/bin:/usr/local/hadoop/bin"
JAVA_HOME=/usr/lib/jvm/java-8-oracle
export JAVA_HOME
GRADLE_HOME=/opt/gradle-2.10
export GRADLE_HOME

Затем просто добавьте папку hadoop до директории bin в этот файл.

затем source /etc/environment
echo $PATH

эта команда должна дать вам путь к директории bin Hadoop.
Теперь вы можете запускать свои обычные команды hadoop fs.
Надеюсь это поможет.

Может понадобиться следующая команда:

sudo su hduser

затем

hadoop fs -ls /

Ответ или решение

Проблема с командой hadoop fs может быть связана с тем, что исполняемые файлы Hadoop не находятся в вашем переменной среды PATH. Ниже приведены шаги, которые помогут вам исправить эту ситуацию.

  1. Убедитесь, что Hadoop установлен правильно:
    Проверьте, установлены ли все необходимые компоненты Hadoop, выполнив команду jps. Если все демоны отображаются корректно, это первый шаг к успеху.

  2. Проверьте путь установки Hadoop:
    Убедитесь, что вы знаете, где именно установлен Hadoop. Обычно это что-то вроде /usr/local/hadoop. Проверьте, существует ли папка с бинарными файлами Hadoop, выполнив следующую команду:

    ls -l /usr/local/hadoop/bin
  3. Измените переменную окружения PATH:
    Чтобы команды Hadoop работали из любого места, необходимо добавить путь к папке bin в системную переменную окружения PATH. Для этого откройте файл /etc/environment с помощью текстового редактора с правами суперпользователя:

    sudo vi /etc/environment

    Затем добавьте следующий путь, если его там нет:

    PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/gradle/bin:/usr/local/hadoop/bin"
  4. Сохраните изменения и примените их:
    После редактирования сохраните файл и выполните команду для применения изменений в текущих сессиях:

    source /etc/environment
  5. Проверьте переменную PATH:
    Убедитесь, что папка Hadoop bin теперь присутствует в переменной PATH, выполнив:

    echo $PATH
  6. Запустите команды Hadoop:
    Теперь вы можете попробовать снова выполнить команду:

    hadoop fs -ls /
  7. Если команда все еще не работает:
    Попробуйте запустить команду от имени пользователя Hadoop. Возможно, вам нужно выполнить:

    sudo su hduser

    Затем выполните команду:

    hadoop fs -ls /

Следуя этим шагам, вы должны устранить проблему и получить возможность использовать команду hadoop fs. Надеюсь, это поможет вам успешно работать с HDFS.

Оцените материал
Добавить комментарий

Капча загружается...