Установка Hadoop на окнах

После извлечения hadoop на моем диске C я попытался выполнить команду hadoop version и получить ниже ошибки. JAVA_HOME правильно задан в моей переменной окружения. Может ли кто-нибудь помочь в этой ошибке?

C:\>hadoop version 

The system cannot find the path specified.
Error: JAVA_HOME is incorrectly set.
Please update C:\hadoop-2.5.1\conf\hadoop-env.cmd '-Xmx512m' is not recognized as an internal or external command, ooperable program or batch file.

Ответ 1

В большинстве ответов предлагается скопировать путь установки JDK. Однако, если вам это не удобно, вы можете использовать короткий путь Windows для установки имени пути, чтобы все приложения могли получить доступ к пути без каких-либо проблем.

Понятие для установки переменной env, если оно содержит пробелы:

Progra~1 = 'Program Files'
Progra~2 = 'Program Files(x86)'

Ответ 2

Просто столкнулся с той же проблемой (Win 8.1 + Hadoop 2.7.0 [build from sources]).

Проблема оказалась (ol 'good) пространством в имени пути, где находится java (в C:\Program Files\dir). Я сделал это:

1) Скопируйте каталог JDK в C:\Java\jdk1.8.0_40

2) отредактируйте \etc\hadoop\hadoop-env.cmd и измените: установите JAVA_HOME = c:\Java\jdk1.8.0_40

3) запустите cmd и выполните команду hadoop-env.cmd

4) теперь проверяем 'hadoop version', все ли он жалуется (мой не был)

Ответ 3

Установите JDK в папку без пробелов. Вместо C:\Program Files\Java\jdk1.8.x_xx попробуйте C:\java\jdk1.8.x_xx.

Ответ 4

Проверьте JAVA_HOME.

Если это C:\Program Files\Java\jdk1.7.0_65. Тогда вы столкнетесь с такими проблемами. Сделал его для C:\MyDrive\Java\jdk1.7.0_65, и это сработало. Пространство в "Program Files" создает проблемы.

PATH PATH;%JAVA_HOME%\bin

Если вы используете окна, то наверняка вы столкнетесь с такими проблемами, как (из-за проблем с X64 и X86):

1.

FATAL datanode.DataNode: исключение в secureMain java.lang.NullPointerException и

2.

FATAL namenode.NameNode: Не удалось запустить namenode. java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO $Windows.access0 (Ljava/lang/String; I)

Решение:

Скопируйте эти файлы hadoop.dll, hadoop.exp, hadoop.lib, hadoop.pdb, libwinutils.lib, winutils.exe, winutils.pdb из ссылка к вашей папке bin, установленной looop, которая выглядит так...\HadoopInstalled\Hadoop\Hadoop-2.6.0\Hadoop-2.6.0\Bin

Ответ 5

Добавьте расположение java-bin в переменную среды path. как

path = path;$JAVA_HOME/bin

Ответ 6

Причиной вашей ошибки является пространство между "Программными файлами". Замените его PROGRA ~ 1 во всех путях при настройке

Ответ 7

Чтобы обойти необходимость устанавливать другой JDK в пути, который не имеет места, вы можете создать символическую ссылку с командой mklink Windows. Вот как.

  • Откройте приглашение cmd как администратор.
  • Перейдите к C:\если приглашение cmd не открывается там.
  • Создайте символическую ссылку. Здесь я устанавливаю путь, по которому Hadoop жалуется (с программными файлами) на более простой путь без пробелов. Аргумент /D означает, что вы создаете символическую ссылку каталога.

    mklink/D\java_home "C:\Program Files\Java\jdk1.7.0_65"

  • В вашем hadoop-env.cmd установите JAVA_HOME в символическую ссылку, которую вы создали:

    установить JAVA_HOME =\java_home

Это то, что сработало для меня. Дополнительная информация о создании символической ссылки в Windows: http://www.windows7home.net/how-to-create-symbolic-link-in-windows-7/

Ответ 8

откройте командную строку и попробуйте это... echo% JAVA_HOME%, затем проверьте набор java home или нет. Если не установлен java home.

Проверьте здесь, как установить JAVA_HOME в windows

Ответ 9

Я также столкнулся с подобной проблемой, выполнив следующие шаги для устранения ошибки.

Download и установить Java в c:/java/

(убедитесь, что путь указан таким образом, если java установлен в программе файлов, то hasoop-env.cmd не распознает java-путь)

Загрузить Бинарный дистрибутив Hadoop.

Установить переменные среды:

JAVA_HOME = "c:/Java"
HADOOP_HOME="<your hadoop home>"
Path= "JAVA_HOME/bin"
Path = "HADOOP_HOME/bin" 

Вот ссылка GitHub, в которой есть winutils некоторых версий Hadoop.

(если версия, которую вы используете, отсутствует в списке, выполните обычный метод настройки Hadoop на окнах - ссылка)

Если вы нашли свою версию, скопируйте все содержимое папки в путь:/bin/

Задайте все файлы конфигурации .xml - Ссылка

И наконец, установим путь JAVA_HOME в файле hadoop-env.cmd

Вероятно, он решит ошибку 'JAVA_HOME is incorrectly set.'

Надеюсь, что это поможет.

Ответ 10

Решение этой задачи прост

Большинство людей будут устанавливать JAVA_HOME как C:\Program Files\Java\jdk1.8.0_121

Здесь проблема с пробелами и что вам нужно сделать, скопируйте contentd из jdk1.8.0_121 в папку на C Drive, скажем C:\java

Теперь используйте этот путь как ваш JAVA_HOME

Ответ 11

Вы можете отлаживать файл hadoop.cmd в папке bin, может быть некоторая команда, которая имеет проблему с синтаксисом или неверный путь.

Откройте файл hadoop.cmd и увидите первую строку "@echo off". Выберите "@echo off" на "@echo on" и сохраните его. Запустите команду "hadoop -version". Он покажет вам, для какой команды появляется ошибка "синтаксис команды". Исправьте это, если проблема синтаксиса есть или может возникнуть проблема с каким-либо способом.

Ответ 12

"@echo on" поможет нам проследить ошибку. Сообщение появляется из файла hasoop-config.cmd. Pls скопируйте C:\Program Files\Java в C:\Java и измените путь и попробуйте. Это будет работать.