Во-первых, у меня почти нет опыта работы с Apache Hadoop и Apache Spark.
На данный момент я хочу следующее:
- Hadoop работает в песочнице Hortonworks Sandbox 2.1, установленной на компьютере с Windows 7.
- Оболочка Spark и программы Spark работают на компьютере с Windows 7, который является тем же компьютером, что и выше.
- Оболочка Spark и программы Spark могут использовать Hadoop в Hortonworks Sandbox 2.1.
Причина, по которой я хочу запускать Spark в Windows, заключается в том, что я хочу разрабатывать программы Spark на машине с Windows 7, которая мне знакома.
Установка Hortonworks Sandbox 2.1 была простой.
Затем я попытался собрать Spark на машине с Windows 7 следующим образом:
- Установите JDK 7, Git, sbt (JDK 8 не работает для sbt, по крайней мере, на данный момент: 2014.5.8)
git clone git://github.com/apache/spark.git
(spark-0.9.1 не компилируется с Hadoop 2.4.0, если SPARK_YARN=true, как описано в https://issues.apache.org/jira/browse/SPARK-1465)- Беги
cmd
cd
для запуска корневого каталогаset SPARK_HADOOP_VERSION=2.4.0
(Hadoop в Hortonworks Sandbox 2.1 — 2.4.0.2.1.1.0-385)set SPARK_YARN=true
sbt assembly
Готово. Успешно.
Но когда я запустил bin\spark-shell, появилось следующее предупреждение.
14/05/08 11:26:15 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
14/05/08 11:26:15 ERROR Shell: 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:318)
at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:333)
...
По-видимому, для оболочки spark требуется winutil.exe.
Я обнаружил, что winutils.exe является частью Hadoop, но он не был включен в стандартный готовый дистрибутив.
Поэтому я собрал Hadoop для Windows.
С некоторыми трудностями, Мне удалось собрать hadoop-2.4.0.tar.gz
, который включает winutils.exe и Hadoop.dll.
Но... я не знаю, что теперь делать.
Как мне установить или применить встроенный пакет Hadoop, чтобы Spark мог получить доступ к Hadoop в тестовой среде Hortonworks 2.1?
Любые предложения приветствуются.