Как настроить 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\Systemgoto " 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()