При запуске namenode для последней версии hadoop-2.2 возникает следующая ошибка. Я не нашел exe-файл winutils в папке bin hasoop. Я пробовал команды ниже
$ bin/hdfs namenode -format
$ sbin/yarn-daemon.sh start resourcemanager
ERROR [main] util.Shell (Shell.java:getWinUtilsPath(303)) - Failed to locate the winutils binary in the hadoop binary path
java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
at org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:278)
at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:300)
at org.apache.hadoop.util.Shell.<clinit>(Shell.java:293)
at org.apache.hadoop.util.StringUtils.<clinit>(StringUtils.java:76)
at org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.main(ResourceManager.java:863)
Ответы:
Простое решение: загрузите его отсюда и добавьте в
$HADOOP_HOME/bin
( Источник )
ВАЖНОЕ ОБНОВЛЕНИЕ:
Для hadoop-2.6.0 вы можете скачать двоичные файлы из блога Titus Barik >> .
Мне нужно было не только указать
HADOOP_HOME
на извлеченный каталог[path]
, но и предоставить системное свойство-Djava.library.path=[path]\bin
для загрузки собственных библиотек (dll).источник
Если вы столкнетесь с этой проблемой при запуске автономного локального приложения с Spark (например, после добавления в проект зависимости spark-assembly-xxx-hadoopx.xxjar или Maven), более простым решением будет установка winutils.exe (скачать из здесь ) в "C: \ winutil \ Bin". Затем вы можете добавить winutils.exe в домашний каталог hadoop, добавив в код следующую строку:
Источник: нажмите здесь
источник
hadoop/bin/bin/
. Так что просто скопируйтеbin
папку winutils вbin
папку hadoop . (HADOOP_HOME
установлен в env vars)System.setProperty("hadoop.home.dir", "c:\\winutil\\")
Если мы напрямую возьмем двоичный дистрибутив Apache Hadoop 2.2.0 и попытаемся запустить его в Microsoft Windows, то мы столкнемся с ERROR util.Shell: не удалось найти двоичный файл winutils в двоичном пути hadoop.
Бинарный дистрибутив Apache Hadoop 2.2.0 не содержит некоторых компонентов Windows (например, winutils.exe, hadoop.dll и т. Д.). Они необходимы (не являются обязательными) для запуска Hadoop в Windows.
Таким образом, вам необходимо собрать собственный двоичный дистрибутив hadoop для Windows из исходных кодов, следующих за файлом «BUILD.txt», который находится внутри исходного дистрибутива hadoop. Вы также можете следить за следующими сообщениями, чтобы получить пошаговое руководство со снимком экрана
Сборка, установка, настройка и запуск Apache Hadoop 2.2.0 в ОС Microsoft Windows
ОШИБКА util.Shell: не удалось найти двоичный файл winutils в двоичном пути hadoop
источник
Заявление java.io.IOException: не удалось найти исполняемый файл null \ bin \ winutils.exe
объясняет, что при расширении или замене переменной среды получено значение null. Если вы видите Источник в Shell.Java в Общем пакете, вы обнаружите, что переменная HADOOP_HOME не устанавливается, и вместо нее вы получаете null и, следовательно, ошибку.
Итак, для этого необходимо правильно установить HADOOP_HOME или свойство переменной hadoop.home.dir.
Надеюсь это поможет.
Спасибо, Камлешвар.
источник
Winutils.exe используется для выполнения команд оболочки SPARK. Когда вам нужно запустить Spark без установки Hadoop, вам понадобится этот файл.
Шаги следующие:
Загрузите winutils.exe из следующего места для hadoop 2.7.1 https://github.com/steveloughran/winutils/tree/master/hadoop-2.7.1/bin [ПРИМЕЧАНИЕ. Если вы используете отдельную версию hadoop, загрузите winutils из соответствующей папки версии hadoop на GITHUB из указанного выше места.]
Теперь создайте папку winutils на диске C: \. Теперь создайте папку bin внутри папки winutils и скопируйте в нее файл winutils.exe. Таким образом, расположение winutils.exe будет C: \ winutils \ bin \ winutils.exe
Теперь откройте переменную среды и установите HADOOP_HOME = C: \ winutils [ПРИМЕЧАНИЕ: пожалуйста, не добавляйте \ bin в HADOOP_HOME, и нет необходимости устанавливать HADOOP_HOME в пути]
Ваш вопрос должен быть решен !!
источник
Я столкнулся с этой проблемой только во время работы с Eclipse. В моем случае у меня была загружена правильная версия Hadoop (hadoop-2.5.0-cdh5.3.0.tgz), я извлек содержимое и поместил его прямо на свой диск C. Затем я пошел в
Eclipse-> Debug / Run Configurations -> Environment (tab) -> и добавлено
переменная: HADOOP_HOME
Значение: C: \ hadoop-2.5.0-cdh5.3.0
источник
Вы можете скачать winutils.exe здесь: http://public-repo-1.hortonworks.com/hdp-win-alpha/winutils.exe
Затем скопируйте его в свой
HADOOP_HOME/bin
каталог.источник
В Pyspark для запуска локального искрового приложения с использованием Pycharm используйте строки ниже
источник
Программа winutils.exe необходима для выполнения команд, связанных с hadoop. загрузите zip-файл hadoop-common-2.2.0. winutils.exe можно найти в папке bin. Распакуйте zip-файл и скопируйте его в локальную папку hadoop / bin.
источник
Я столкнулся с той же проблемой. Удаление
bin\
из пути HADOOP_HOME решило эту проблему для меня. Путь к переменной HADOOP_HOME должен выглядеть примерно так.Может потребоваться перезагрузка системы. В моем случае перезапуска IDE было достаточно.
источник
Настройте переменную HADOOP_HOME в Windows, чтобы решить проблему.
Вы можете найти ответ в
org/apache/hadoop/hadoop-common/2.2.0/hadoop-common-2.2.0-sources.jar!/org/apache/hadoop/util/Shell.java
:IOException из
HADOOP_HOME_DIR из
источник
с URL-адреса:
https://github.com/steveloughran/winutils/hadoop-
version
/ binПримечание. Вы должны установить переменные среды:
Пользовательская переменная:
Переменная : HADOOP_HOME.
Значение : Hadoop или Spark.
источник
У меня была такая же проблема в Windows. Я исправил это
источник
Загрузите желаемую версию папки hadoop (скажем, если вы устанавливаете Spark в Windows, тогда версия hadoop, для которой создана ваша искра) по этой ссылке в виде zip-архива.
Распакуйте zip-архив в желаемый каталог. У вас должен быть каталог формы
hadoop\bin
(явно создайте такуюhadoop\bin
структуру каталогов, если хотите),bin
содержащий все файлы, содержащиеся вbin
папке загруженного хадупа. Он будет содержать много файлов, таких как hdfs.dll, hadoop.dll и т. Д., В дополнение к winutil.exe.Теперь создайте переменную среды
HADOOP_HOME
и установите для нее значение<path-to-hadoop-folder>\hadoop
. Затем добавьте;%HADOOP_HOME%\bin;
вPATH
переменную среды.Откройте «новую командную строку» и попробуйте повторно выполнить команду.
источник
Я использовал версии "hbase-1.3.0" и "hadoop-2.7.3". Установка переменной среды HADOOP_HOME и копирование файла 'winutils.exe' в папку HADOOP_HOME / bin решает проблему в ОС Windows. Внимание, чтобы установить среду HADOOP_HOME в папку установки hadoop (для этих версий папка / bin не требуется). Кроме того, я предпочел использовать кросс-платформенный инструмент cygwin для настройки функциональности ОС Linux (насколько это возможно), потому что команда Hbase рекомендует linux / unix env.
источник