Как настроить Spark на Windows?
Я пытаюсь настроить Apache Spark на Windows.
После небольшого поиска, я понимаю, что автономный режим - это то, что я хочу.
Какие бинарные файлы загружаются для запуска искры Apache в окнах? Я вижу дистрибутивы с hadoop и cdh на странице загрузки искры.
У меня нет ссылок в Интернете на это. Пошаговое руководство к этому высоко ценится.
Ответы
Ответ 1
Я нашел, что самое легкое решение в Windows - это сборка из исходного кода.
Вы можете в значительной степени следовать этому руководству: http://spark.apache.org/docs/latest/building-spark.html
Загрузите и установите Maven и установите MAVEN_OPTS
на значение, указанное в руководстве.
Но если вы просто играете с Spark и на самом деле не нуждаетесь в ней для запуска в Windows по какой-либо другой причине, когда на вашей собственной машине работает Windows, я настоятельно рекомендую вам установить Spark на виртуальную машину Linux, Самый простой способ начать работу - это загрузить готовые изображения, сделанные Cloudera или Hortonworks, и либо использовать входящую в комплект версию Spark, либо установить свой собственный источник или скомпилированные двоичные файлы, которые вы можете получить с сайта искры.
Ответ 2
Шаги по установке Spark в локальном режиме:
-
Установить Java 7 или более поздней версии.
Чтобы проверить установку java, запустите команду командной строки java
и нажмите enter.
Если вы получили сообщение 'Java' is not recognized as an internal or external command.
Вам нужно настроить переменные среды, JAVA_HOME
и PATH
, чтобы указать путь к jdk.
-
Загрузите и установите Scala.
Установите SCALA_HOME
в Control Panel\System and Security\System
перейдите в "Adv System settings" и добавьте %SCALA_HOME%\bin
в переменную PATH в переменные среды.
-
Установить Python 2.6 или более поздней версии из Python Скачать ссылку.
- Загрузить SBT. Установите его и установите
SBT_HOME
как переменную среды со значением как <<SBT PATH>>
.
- Загрузите
winutils.exe
из HortonWorks repo или git repo. Поскольку у нас нет локальной установки Hadoop в Windows, мы должны загрузить winutils.exe
и поместить ее в каталог bin
в созданном домашнем каталоге Hadoop
.
Установите HADOOP_HOME = <<Hadoop home directory>>
в переменную окружения.
-
Мы будем использовать готовый пакет Spark, поэтому выберите готовый пакет Spark для Hadoop Spark download. Загрузите и извлеките его.
Установите SPARK_HOME
и добавьте %SPARK_HOME%\bin
в переменную PATH в переменные среды.
-
Команда запуска: spark-shell
-
Откройте http://localhost:4040/
в браузере, чтобы увидеть веб-интерфейс SparkContext.
Ответ 3
Вы можете скачать искру здесь:
http://spark.apache.org/downloads.html
Я рекомендую вам эту версию: Hadoop 2 (HDP2, CDH5)
Начиная с версии 1.0.0 есть сценарии .cmd для запуска искры в окнах.
Распакуйте его с помощью 7zip или аналогичного.
Для запуска вы можете выполнить /bin/spark -shell.cmd -master local [2]
Чтобы настроить свой экземпляр, вы можете перейти по следующей ссылке: http://spark.apache.org/docs/latest/
Ответ 4
Вы можете использовать следующие способы установки Spark:
- Здание из источника
- Использование готового выпуска
Хотя существуют различные способы создать Spark из Source.
Сначала я попытался создать источник искры с помощью SBT, но для этого нужен хаос. Чтобы избежать этих проблем, я использовал предварительно созданный выпуск.
Вместо источника я загрузил готовый выпуск для версии hadoop 2.x и запустил его.
Для этого вам необходимо установить Scala как необходимое условие.
Я собрал все шаги здесь:
Как запустить Apache Spark в Windows7 в автономном режиме
Надеюсь, это поможет вам..!!!
Ответ 5
Попытка работать с spark-2.x.x, создание исходного кода Spark не помогло мне.
-
Итак, хотя я не собираюсь использовать Hadoop, я загрузил предварительно построенный Spark с вложенным хаопом: spark-2.0.0-bin-hadoop2.7.tar.gz
-
Укажите SPARK_HOME в извлеченном каталоге, затем добавьте в PATH
: ;%SPARK_HOME%\bin;
-
Загрузите исполняемый файл winutils из репозитория Hortonworks.
-
Создайте каталог, в который вы поместите исполняемый файл winutils.exe. Например, C:\SparkDev\x64. Добавьте переменную окружения %HADOOP_HOME%
, которая указывает на этот каталог, затем добавьте %HADOOP_HOME%\bin
в PATH.
-
Используя командную строку, создайте каталог:
mkdir C:\tmp\hive
-
Используя загруженный вами исполняемый файл, добавьте полные разрешения в созданный вами каталог файлов, но используя формализм unixian:
%HADOOP_HOME%\bin\winutils.exe chmod 777 /tmp/hive
-
Введите следующую командную строку:
%SPARK_HOME%\bin\spark-shell
Scala ввод командной строки должен отображаться автоматически.
Примечание: Вам не нужно отдельно настраивать Scala. Он также встроен.
Ответ 6
Здесь исправления, чтобы заставить его работать в Windows без восстановления всего - например, если у вас нет последней версии MS-VS. (Вам понадобится компилятор Win32 С++, но вы можете установить бесплатную версию MS VS Community Edition.)
Я пробовал это с помощью Spark 1.2.2 и mahout 0.10.2, а также с последними версиями в ноябре 2015 года. Существует ряд проблем, в том числе тот факт, что код Scala пытается запустить bash script (mahout/bin/mahout), который не работает, скрипты sbin не были перенесены в окна, а winutils отсутствуют, если hasoop не установлен.
(1) Установите scala, затем разархивируйте искру /hadoop/mahout в корень C: под их соответствующими названиями продуктов.
(2) Переименуйте \mahout\bin\mahout в mahout.sh.was(нам это не понадобится)
(3) Скомпилируйте следующую программу Win32 С++ и скопируйте исполняемый файл в файл с именем C:\mahout\bin\mahout (это право - нет .exe-суффикс, например, исполняемый файл Linux)
#include "stdafx.h"
#define BUFSIZE 4096
#define VARNAME TEXT("MAHOUT_CP")
int _tmain(int argc, _TCHAR* argv[]) {
DWORD dwLength; LPTSTR pszBuffer;
pszBuffer = (LPTSTR)malloc(BUFSIZE*sizeof(TCHAR));
dwLength = GetEnvironmentVariable(VARNAME, pszBuffer, BUFSIZE);
if (dwLength > 0) { _tprintf(TEXT("%s\n"), pszBuffer); return 0; }
return 1;
}
(4) Создайте script\mahout\bin\mahout.bat и вставьте содержимое ниже, хотя точные имена банок в путях класса _CP будут зависеть от версий искры и махаута. Обновите любые пути в вашей установке. Используйте имена путей 8.3 без пробелов в них. Обратите внимание: вы не можете использовать подстановочные знаки/звездочки в pathpaths здесь.
set SCALA_HOME=C:\Progra~2\scala
set SPARK_HOME=C:\spark
set HADOOP_HOME=C:\hadoop
set MAHOUT_HOME=C:\mahout
set SPARK_SCALA_VERSION=2.10
set MASTER=local[2]
set MAHOUT_LOCAL=true
set path=%SCALA_HOME%\bin;%SPARK_HOME%\bin;%PATH%
cd /D %SPARK_HOME%
set SPARK_CP=%SPARK_HOME%\conf\;%SPARK_HOME%\lib\xxx.jar;...other jars...
set MAHOUT_CP=%MAHOUT_HOME%\lib\xxx.jar;...other jars...;%MAHOUT_HOME%\xxx.jar;...other jars...;%SPARK_CP%;%MAHOUT_HOME%\lib\spark\xxx.jar;%MAHOUT_HOME%\lib\hadoop\xxx.jar;%MAHOUT_HOME%\src\conf;%JAVA_HOME%\lib\tools.jar
start "master0" "%JAVA_HOME%\bin\java" -cp "%SPARK_CP%" -Xms1g -Xmx1g org.apache.spark.deploy.master.Master --ip localhost --port 7077 --webui-port 8082 >>out-master0.log 2>>out-master0.err
start "worker1" "%JAVA_HOME%\bin\java" -cp "%SPARK_CP%" -Xms1g -Xmx1g org.apache.spark.deploy.worker.Worker spark://localhost:7077 --webui-port 8083 >>out-worker1.log 2>>out-worker1.err
...you may add more workers here...
cd /D %MAHOUT_HOME%
"%JAVA_HOME%\bin\java" -Xmx4g -classpath "%MAHOUT_CP%" "org.apache.mahout.sparkbindings.shell.Main"
Имя переменной MAHOUT_CP не должно изменяться, так как оно ссылается на код С++.
Конечно, вы можете прокомментировать код, запускающий мастера и работника Spark, потому что Mahout будет запускать Spark по мере необходимости; Я просто поместил его в пакетное задание, чтобы показать вам, как его запустить, если вы хотите использовать Spark без Mahout.
(5) Следующее учебное пособие - это хорошее место для начала:
https://mahout.apache.org/users/sparkbindings/play-with-shell.html
Вы можете вызвать экземпляр Mahout Spark по адресу:
"C:\Program Files (x86)\Google\Chrome\Application\chrome" --disable-web-security http://localhost:4040
Ответ 7
Вот семь шагов, чтобы установить искру в Windows 10 и запустить ее из python:
Шаг 1: загрузите файл gz zero 2.2.0 tar (tape Archive) в любую папку F из этой ссылки - https://spark.apache.org/downloads.html, Разархивируйте его и скопируйте распакованную папку в нужную папку A. Переименуйте искру-2.2.0-bin-hadoop2.7 в папку.
Пусть путь к искровой папке будет C:\Users\Desktop\A\spark
Шаг 2: загрузите файл hardtop 2.7.3 tar gz в ту же папку F из этой ссылки - https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz. Разархивируйте его и скопируйте распакованную папку в ту же папку A. Переименуйте имя папки из Hadoop-2.7.3.tar в hasoop.
Пусть путь к папке hadoop будет C:\Users\Desktop\A\hadoop
Шаг 3: Создайте новый текстовый файл в блокноте. Сохраните этот пустой блокнот как winutils.exe(с сохранением как тип: все файлы). Скопируйте этот файл O KB winutils.exe в папку bin в искровом режиме - C:\Users\Desktop\A\spark\bin
Шаг 4: Теперь мы должны добавить эти папки в системную среду.
4a: создать системную переменную (не пользовательская переменная, так как пользовательская переменная наследует все свойства системной переменной) Имя переменной: SPARK_HOME
Значение переменной: C:\Users\Desktop\A\spark
Найдите системную переменную Path Path и нажмите "Изменить" . Вы увидите несколько путей. Не удаляйте ни один из путей. Добавьте это значение переменной -; C:\Users\Desktop\A\spark\bin
4b: создать системную переменную
Имя переменной: HADOOP_HOME
Значение переменной: C:\Users\Desktop\A\hadoop
Найдите системную переменную Path Path и нажмите "Изменить" . Добавьте это значение переменной -; C:\Users\Desktop\A\hadoop\bin
4c: создать системную переменную Имя переменной: JAVA_HOME
Поиск Java в окнах. Щелкните правой кнопкой мыши и щелкните по открытому файлу. Вам придется снова щелкнуть правой кнопкой мыши на любом из java файлов и нажать на открытое местоположение файла. Вы будете использовать путь к этой папке. ИЛИ вы можете искать C:\Program Files\Java. Моя версия Java, установленная в системе, - jre1.8.0_131.
Значение переменной: C:\Program Files\Java\jre1.8.0_131\bin
Найдите системную переменную Path Path и нажмите "Изменить" . Добавьте это значение переменной -; C:\Program Files\Java\jre1.8.0_131\bin
Шаг 5: откройте командную строку и перейдите в папку с искровым бункером (введите cd C:\Users\Desktop\A\spark\bin). Тип искровой оболочки.
C:\Users\Desktop\A\spark\bin>spark-shell
Это может занять некоторое время и дать некоторые предупреждения. Наконец, это покажет
добро пожаловать в искру версии 2.2.0
Шаг 6: Введите exit() или перезапустите командную строку и снова перейдите в папку искробезопасности. Тип pyspark:
C:\Users\Desktop\A\spark\bin>pyspark
Он покажет некоторые предупреждения и ошибки, но игнорирует. Он работает.
Шаг 7: Ваша загрузка завершена. Если вы хотите напрямую запустить искру из оболочки python, тогда:
перейдите в Scripts в папке python и введите
pip install findspark
в командной строке.
В оболочке python
import findspark
findspark.init()
импортировать необходимые модули
from pyspark import SparkContext
from pyspark import SparkConf
Если вы хотите пропустить шаги для импорта findpark и его инициализации, пожалуйста, следуйте процедуре, приведенной в
импортировать pyspark в оболочке python
Ответ 8
Ниже приведен простой минимум script для запуска с любой консоли python.
Предполагается, что вы извлекли библиотеки Spark, загруженные в C:\Apache\spark-1.6.1.
Это работает в Windows без создания чего-либо и решает проблемы, когда Spark будет жаловаться на рекурсивное травление.
import sys
import os
spark_home = 'C:\Apache\spark-1.6.1'
sys.path.insert(0, os.path.join(spark_home, 'python'))
sys.path.insert(0, os.path.join(spark_home, 'python\lib\pyspark.zip'))
sys.path.insert(0, os.path.join(spark_home, 'python\lib\py4j-0.9-src.zip'))
# Start a spark context:
sc = pyspark.SparkContext()
#
lines = sc.textFile(os.path.join(spark_home, "README.md")
pythonLines = lines.filter(lambda line: "Python" in line)
pythonLines.first()
Ответ 9
Руководство Ani Menon (спасибо!) почти сработало для меня в Windows 10, мне просто нужно было получить новый winutils.exe от этого git (в настоящее время hasoop-2.8.1): https://github.com/steveloughran/winutils