Как настроить Spark на Windows?
Я пытаюсь настроить Apache Spark на Windows.
после поиска немного, я понимаю, что автономный режим-это то, что я хочу. Какие двоичные файлы я загружаю для запуска Apache spark в windows? Я вижу дистрибутивы с hadoop и cdh на странице загрузки spark.
У меня нет ссылок в интернете на этот. Шаг за шагом руководство к этому высоко ценится.
10 ответов:
Я нашел самое простое решение на Windows, чтобы построить из источника.
вы можете в значительной степени следовать этому руководству:http://spark.apache.org/docs/latest/building-spark.html
скачать и установить Maven, а также установить
MAVEN_OPTS
значению, указанному в руководстве.но если вы просто играете с Spark, и на самом деле не нужно, чтобы он работал на Windows по любой другой причине, что ваша собственная машина работает под управлением Windows, я настоятельно рекомендую вам установите Spark на виртуальной машине linux. Самый простой способ начать работу, вероятно, это загрузить готовые изображения, сделанные Cloudera или Hortonworks, и либо использовать комплектную версию Spark, либо установить свой собственный из источника или скомпилированных двоичных файлов, которые вы можете получить с веб-сайта spark.
шаги по установке Spark в локальном режиме:
установить Java 7 или более поздней. Чтобы проверить, что установка java завершена, откройте командную строку типа
java
и нажмите enter. Если вы получаете сообщение'Java' is not recognized as an internal or external command.
вам нужно настроить переменные окружения,JAVA_HOME
иPATH
чтобы указать путь jdk.Set
SCALA_HOME
наControl Panel\System and Security\System
goto " Adv System настройки" и добавить%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 скачать. Загрузите и извлеките его.
Set
SPARK_HOME
и добавить%SPARK_HOME%\bin
в переменной PATH в переменных окружения.выполнить команду :
spark-shell
открыть
http://localhost:4040/
в браузере, чтобы увидеть SparkContext веб-интерфейс.
вы можете скачать spark отсюда:
http://spark.apache.org/downloads.html
Я рекомендую вам такой вариант: Hadoop 2 (HDP2, CDH5)
начиная с версии 1.0.0 есть .cmd скрипты для запуска spark в windows.
распаковать с помощью 7zip или подобное.
для начала вы можете выполнить / bin / spark-shell.cmd --master local[2]
для настройки вашего экземпляра, вы можете перейти по этой ссылке:http://spark.apache.org/docs/latest/
вы можете использовать следующие способы настройки Spark:
- строительство из источника
- С помощью встроенного выпуска
хотя есть различные способы построить искру из источника.
Сначала я попытался построить источник искры с SBT, но для этого требуется hadoop. Чтобы избежать этих проблем, я использовал встроенные выпуска.вместо исходного кода я загрузил готовый релиз для hadoop 2.x версия и запустил его. Для этого Вам необходимо установить Скала как обязательное условие.
я сопоставил все шаги здесь:
как запустить Apache Spark на Windows7 в автономном режименадеюсь, что это поможет вам..!!!
пытается работать с spark-2.x. x, создание исходного кода Spark не сработало для меня.
Итак, хотя я не собираюсь использовать Hadoop, я загрузил предварительно построенный Spark с Hadoop embeded:
spark-2.0.0-bin-hadoop2.7.tar.gz
укажите SPARK_HOME в извлеченном каталоге, затем добавьте в
PATH
:;%SPARK_HOME%\bin;
скачать исполняемый файл winutils из репозитория Hortonworks или с платформы Amazon AWS winutils.
создайте каталог, в котором вы размещаете исполняемые winutils.исполняемый. Например, C:\SparkDev\x64. Добавьте переменную окружения
%HADOOP_HOME%
, который указывает на этот каталог, затем добавить%HADOOP_HOME%\bin
к пути.используя командную строку, создайте каталог:
mkdir C:\tmp\hive
С помощью исполняемого файла, который вы загрузили, добавить полные права доступа для файла папке, которую вы создали, но с помощью unixian формализм:
%HADOOP_HOME%\bin\winutils.exe chmod 777 /tmp/hive
введите следующую командную строку:
%SPARK_HOME%\bin\spark-shell
вход командной строки Scala должен отображаться автоматически.
замечание : вам не нужно настраивать Scala отдельно. Он тоже встроенный.
вот исправления, чтобы заставить его работать в Windows, не перестраивая все - например, если у вас нет последней версии MS-VS. (вам понадобится компилятор Win32 C++, но вы можете установить MS VS Community Edition бесплатно.)
Я пробовал это с Spark 1.2.2 и mahout 0.10.2, а также с последними версиями в ноябре 2015 года. Существует ряд проблем, включая тот факт, что код Scala пытается запустить скрипт bash (mahout/bin / mahout) , который не работает конечно, сценарии sbin не были перенесены в windows, и winutils отсутствуют, если hadoop не установлен.
(1) установите scala, затем разархивируйте spark/hadoop/mahout в корневой каталог C: под соответствующими названиями продуктов.
(2) переименовать \mahout\bin\mahout в mahout.sh. was (нам это не понадобится)
(3) скомпилируйте следующую программу Win32 C++ и скопируйте исполняемый файл в файл с именем 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) создать скрипт \mahout\bin\mahout.bat и вставить в содержание ниже, хотя точные имена банок в пути класса _CP будет зависеть от версий spark и mahout. Обновите все пути для каждой установки. Использовать имена в формате 8.3 путь, не в них пробелы. Обратите внимание, что здесь нельзя использовать подстановочные знаки/звездочки в пути к классам.
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 не должна быть изменена, так как на нее ссылаются в коде C++.
конечно, вы можете прокомментировать код, который запускает Spark master и worker, потому что 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
вот семь шагов, чтобы установить spark на windows 10 и запустить его из python:
Шаг 1: Скачать СПАРК 2.2.0 смолы (архив ленты) GZ файл в любую папку Ф по этой ссылке - https://spark.apache.org/downloads.html. Распаковать его и скопировать папку разархивированные к желаемому А. переименуйте папку Искра-2.2.0-бин-hadoop2.Папка 7 для Искры.
пусть путь к папке spark будет C:\Users\Desktop\A\spark
Шаг 2: Загрузите hardoop 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.деготь для Hadoop. Пусть путь к папке hadoop будет C:\Users\Desktop\A\hadoop
Шаг 3: Создайте новый текстовый файл в блокноте. Сохранить этот пустой файл блокнота как winutils.exe (с типом Сохранить как: все файлы). Скопируйте это o KB winutils.EXE-файл для ваша папка bin в spark - C:\Users\Desktop\A\spark\bin
Шаг 4: Теперь, мы должны добавить эти папки в системной среде.
4a: создайте системную переменную (не пользовательскую переменную, поскольку пользовательская переменная наследует все свойства системной переменной) имя переменной: SPARK_HOME Переменное значение: C:\Users\Desktop\A\spark
найдите системную переменную Path и нажмите кнопку Изменить. Вы увидите несколько путей. Не удаляйте пути. Добавьте это значение переменной - ;C:\Users\Desktop\A\spark\bin
4b: создать системную переменную
имя переменной: HADOOP_HOME Переменное значение: C:\Users\Desktop\A\hadoop
найдите системную переменную Path и нажмите кнопку Изменить. Добавьте это значение переменной - ;C:\Users\Desktop\A\hadoop\bin
4c: создать системную переменную имя переменной: JAVA_HOME Поиск Java в windows. Щелкните правой кнопкой мыши и выберите Открыть расположение файла. Вам придется снова щелкнуть правой кнопкой мыши на любом из файлов java и нажать кнопку Открыть расположение файла. Вы будете использовать путь к этой папке. Или вы можете искать C:\Program файлы\Java. Моя версия Java установлена в системе jre1.8.0_131. Переменное значение: C:\Program файлы\Java\jre1.8. 0_131\bin
найдите системную переменную Path и нажмите кнопку Изменить. Добавьте это значение переменной - ;C:\Program файлы\Java\jre1.8. 0_131\bin
Шаг 5: Откройте командную строку и перейдите в папку spark bin (введите cd C:\Users\Desktop\A\spark\bin). Тип Искра-снаряд.
C:\Users\Desktop\A\spark\bin>spark-shell
Это может занять время и дать некоторые предупреждения. Наконец, это покажет добро пожаловать в spark версии 2.2.0
Шаг 6: введите exit () или перезапустите командную строку и снова перейдите в папку spark bin. Тип pyspark:
C:\Users\Desktop\A\spark\bin>pyspark
Он покажет некоторые предупреждения и ошибки, но игнорировать. Это работает.
Шаг 7: загрузка завершена. Если вы хотите напрямую запустить spark из оболочки python, то: перейдите к скриптам в папке python и типа
pip install findspark
в командной строке.
в оболочке python
import findspark findspark.init()
импорт необходимых модулей
from pyspark import SparkContext from pyspark import SparkConf
если вы хотите пропустить шаги для импорта findspark и инициализации его, то, пожалуйста, следуйте процедуре, приведенной в импорт pyspark в оболочке python
The guide by Ani Menon (thx!) почти работал для меня на windows 10, мне просто нужно было получить более новый winutils.exe от этого git (в настоящее время hadoop-2.8.1): https://github.com/steveloughran/winutils
вот простой минимальный скрипт для запуска с любой консоли python. Предполагается, что вы извлекли библиотеки Spark, которые вы загрузили в C:\Apache\spark-1.6.1.
это работает в Windows, не создавая ничего и решает проблемы, где искра будет жаловаться на рекурсивное маринование.
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()