2013-12-15 5 views
7

Я пытаюсь установить hadoop на окна, это так хлопотно до сих пор.build hadoop 2.2 на окнах

здесь ошибка я постоянно получаю

[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2:exec (compile-ms-winutils) on project hadoop-common: Command execution failed. Cannot run program "msbuild" (in directory "C:\hdfs\hadoop-common-project\hadoop-common"): CreateProcess error=2, The system cannot find the file specified -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command 
[ERROR] mvn <goals> -rf :hadoop-common 

У меня есть msbuild.exe, окна sdk7.1, cygwin64, maven3.0.5, jdk7 все настройки в среде на моих окнах 7 x64 коробки.

Это hadoop 2.2.0 src, который я загрузил с сайта apache.

под системной среде, я поставил

C:\Windows\Microsoft.NET\Framework64\v4.0.30319 

это путь к MSBuild, но по-прежнему не работает, кто-нибудь знает, как это исправить?

благодаря

обновление: Я изменил pom.xml на Hadoop-общего проекта \ Hadoop-общий немного от

<executable>msbuild</executable> 

в

<executable>msbuild.exe</executable> 

Теперь я получение следующей ошибки

[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2:exec (compile-ms-winutils) on project hadoop-common: Command execution failed. Process exited with an error: 1(Exit value: 1) -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command 
[ERROR] mvn <goals> -rf :hadoop-common 
+0

Эй, вы смогли решить проблему? как? –

+0

Как вы решили эту проблему? Пожалуйста, поделитесь – Rebecca

ответ

0

Кажется, что есть проблема с пути ..

добавить путь MsBuild к переменной окружения Path

+0

да, это то, что я думал в первый раз, поэтому я добавил путь msbuild к пути переменной среды, но все же – ikel

+0

Я думаю, что ему нужно установить windows sdk .. Я установил только в Linux .. –

+0

У меня уже есть Установленные окна sdk7.1 – ikel

9

Я нашел решение этой проблемы. У меня VS 2012 на Windows 8.1 и столкнулись с этой точной проблемой. Я проверил pom.xml под Hadoop-общим для , что выполнение идентификатора и побежал следующую команду

F:\HDP>msbuild F:\HDP\hadoop-common-project\hadoop-common\src\main\winutils\winutils.sln /nologo/p:Configuration=Release;OutDir=bin 

Он дал мне следующее исключение

C:\Program Files(x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets(42,5): error MSB8020: The builds tools for Visual Studio 2010 (Platform Toolset ='v100') cannot be found. 
To build using the v100 build tools, either click the Project menu or right-click the solution, and then select "Update VC++ Projects...". Install Visual Studio 2010 to build using the Visual Studio 2010 build tools. 
[F:\HDP\hadoop-common-project\hadoop-common\src\main\winutils\libwinutils.vcxproj] 

Поскольку я не имею Visual Studio 2010 на моя машина, проблема должна была быть в решении. Я открыл решение в VS 2012 и скомпилировал его один раз. Выполнение maven снова дало мне еще одну ошибку, но на этот раз указав на hadoop-common \ src \ main \ native \ native.sln. Я открыл это на VS 2012 и ошибок.

Надеется, что это помогает

Thanks Рохит

1

У меня был такая же проблема. Я решил ее

  1. открытия дос командной строки

  2. начиная «C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ vcvarsall.летучая мышь», который изменяет переменную PATH и устанавливает некоторые другие переменные

  3. После этого я начал Cygwin непосредственно из этой командной строки

    C: \ cygwin64 \ Bin \ mintty.exe -i /Cygwin-Terminal.ico -

Теперь PATH правильно отформатирован и MSBuild найден ...

Надеется, что это помогает

КСТАТИ: Если жалуясь неправильной версией MSBuild может быть у вас есть т o установить Visual Studio Express 2010. Или, как я читал в другом месте, вы можете использовать VisualStudioExpress2012 и установить VS100COMNTOOLS, указывающие на VS110COMNTOOLS.

0

Я смог исправить эту проблему на два шага.

1) Добавить путь MSBuild (C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319) в переменной окружения Path

2) Установка Microsoft-видео-Studio-2010-Professional http://download.cnet.com/Microsoft-Visual-Studio-2010-Professional/3000-2212_4-10618634.html

Примечание: перед установкой Visual-Studio-2010-Professional я попробовал Windows-SDK-7.1, который мне не помог. Поэтому перед установкой Visual-Studio-2010-Professional я удалил Windows-SDK-7.1. Также ссылка, которую я предоставил для Visual-Studio-2010-Professional, представляет собой пробную версию.

2

Я следовал следующие шаги по установке Hadoop 2.2.0

Шаги для создания Hadoop распределения бен для Windows,

  1. Скачать и установить Microsoft Windows SDK v7.1.

  2. Загрузите и установите инструмент командной строки Unix Cygwin.

  3. Загрузите и установите Maven 3.1.1.

  4. Загрузите Buffer Buffers 2.5.0 и извлеките в папку (скажем c: \ protobuf).

  5. Добавить переменные среды JAVA_HOME, M2_HOME и платформу, если они еще не добавлены. Примечание. Имя переменной. Платформа чувствительна к регистру. И значение будет либо x64, либо Win32 для построения на 64-битной или 32-битной системе. Edit Path Variable для добавления каталога bin в Cygwin (скажем C: \ cygwin64 \ bin), каталог bin Maven (скажем C: \ maven \ bin) и путь установки буферов протокола (скажем c: \ protobuf).

  6. Загрузите файл hadoop-2.2.0-src.tar.gz и извлеките его в папку с коротким путём (скажем c: \ hdfs), чтобы избежать проблемы времени выполнения из-за ограничения длины пути в Windows.

  7. Выберите Пуск -> Все программы -> Microsoft Windows SDK v7.1 и откройте Windows SDK 7.1 Командная строка. Измените каталог на папку исходного кода Hadoop (c: \ hdfs). Выполнить пакет mvn с параметрами -Pdist, native-win -DskipTests -Dtar для создания бинарного дистрибутива Windows.

  8. Если на предыдущем шаге все будет хорошо, тогда в каталоге C: \ hdfs \ hadoop-dist \ target \ hadoop-2.2.0 будет создано собственное дистрибутив hadoop-2.2.0.tar.gz.

Установка Hadoop

  1. Extract Hadoop-2.2.0.tar.gz в папку (например, C: \ Hadoop).

  2. Добавить переменную среды HADOOP_HOME и изменить переменную пути, чтобы добавить каталог bin в HADOOP_HOME (скажем C: \ hadoop \ bin).

Настройка Hadoop

C: \ Hadoop \ и т.д. \ Hadoop \ ядро-site.xml

<configuration> 
     <property> 
       <name>fs.defaultFS</name> 
       <value>hdfs://localhost:9000</value> 
     </property> 
</configuration> 

C: \ Hadoop \ и т.д. \ Hadoop \ hdfs- site.xml

<configuration> 
     <property> 
       <name>dfs.replication</name> 
       <value>1</value> 
     </property> 
     <property> 
       <name>dfs.namenode.name.dir</name> 
       <value>file:/hadoop/data/dfs/namenode</value> 
     </property> 
     <property> 
       <name>dfs.datanode.data.dir</name> 
       <value>file:/hadoop/data/dfs/datanode</value> 
     </property> 
</configuration> 

C: \ Hadoop \ и т.д. \ Hadoop \ mapred-site.xml

<configuration> 
     <property> 
      <name>mapreduce.framework.name</name> 
      <value>yarn</value> 
     </property> 
</configuration> 

C: \ \ Hadoop и т.д. \ \ Hadoop пряжи-site.xml

<configuration> 
     <property> 
      <name>yarn.nodemanager.aux-services</name> 
      <value>mapreduce_shuffle</value> 
     </property> 
     <property> 
      <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name> 
      <value>org.apache.hadoop.mapred.ShuffleHandler</value> 
     </property> 
</configuration> 

Формат NameNode

Только в первый раз необходимо форматировать namenode.

C:\Users\abhijitg>cd c:\hadoop\bin 
c:\hadoop\bin>hdfs namenode –format 

Start HDFS (NameNode и DataNode)

C:\Users\abhijitg>cd c:\hadoop\sbin 
c:\hadoop\sbin>start-dfs 

Start MapReduce ака ПРЯЖИ (менеджер ресурсов и Node Manager)

C:\Users\abhijitg>cd c:\hadoop\sbin 
c:\hadoop\sbin>start-yarn 
starting yarn daemons 

Всего четыре отдельные окон командной строки будет автоматически открываться для запуска Namenode, Datanode, Resource Manager , Node Manager

Ссылка: Build, Install, Configure and Run Apache Hadoop 2.2.0 in Microsoft Windows OS

+0

Привет, Abhijit, будет здорово, если вы сможете опубликовать видео-учебник. –

1

Вам может понадобиться CMake.exe - получить его с помощью официальность http://www.cmake.org/download/

Открыть файл BUILDING.txt, который находится в распакованной Hadoop-2.6. 0-src.tar.gz или вашу версию.
Он говорит вам, как построить для Windows - проверьте все это:

МОЕ ЗДАНИЕ.TXT говорит:

Building on Windows 
Requirements: 

* Windows System 
* JDK 1.6+ 
* Maven 3.0 or later 
* Findbugs 1.3.9 (if running findbugs) 
* ProtocolBuffer 2.5.0 
* CMake 2.6 or newer 
* Windows SDK or Visual Studio 2010 Professional 
* Unix command-line tools from GnuWin32 or Cygwin: sh, mkdir, rm, cp, tar, gzip 
* zlib headers (if building native code bindings for zlib) 
* Internet connection for first build (to fetch all Maven and Hadoop dependencies) 

If using Visual Studio, it must be Visual Studio 2010 Professional (not 2012). 
Do not use Visual Studio Express. It does not support compiling for 64-bit, 
which is problematic if running a 64-bit system. The Windows SDK is free to 
download here: 

http://www.microsoft.com/en-us/download/details.aspx?id=8279  
1

Даже после выполнения всех действий, упомянутых в документе, и здесь, я получил следующее сообщение об ошибке: сказал

Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.3.1:exec 
(compile-ms-winutils) on project hadoop-common 

Детальная ошибка:

You are attempting to build a Win32 application from an x64 environment. 
If using the Windows 7.1 SDK build environment, type setenv /x86 

Поэтому я добавил следующую переменную среды и решил проблему

Platform: x64 
+0

Без лишних объяснений трудно определить, является ли это добавлением к существующим ответам, или это то, что уже покрыто ими. В общем, если вы видите 2 или 3 существующих решения, которые вам не удалось, я бы рекомендовал написать что-то вроде «Для меня A и B не удалось, но C работал» –

Смежные вопросы