Как настроить Spark на Windows?


Я пытаюсь настроить Apache Spark на Windows.

после поиска немного, я понимаю, что автономный режим-это то, что я хочу. Какие двоичные файлы я загружаю для запуска Apache spark в windows? Я вижу дистрибутивы с hadoop и cdh на странице загрузки spark.

У меня нет ссылок в интернете на этот. Шаг за шагом руководство к этому высоко ценится.

10 78

10 ответов:

Я нашел самое простое решение на Windows, чтобы построить из источника.

вы можете в значительной степени следовать этому руководству:http://spark.apache.org/docs/latest/building-spark.html

скачать и установить Maven, а также установить MAVEN_OPTS значению, указанному в руководстве.

но если вы просто играете с Spark, и на самом деле не нужно, чтобы он работал на Windows по любой другой причине, что ваша собственная машина работает под управлением Windows, я настоятельно рекомендую вам установите Spark на виртуальной машине linux. Самый простой способ начать работу, вероятно, это загрузить готовые изображения, сделанные Cloudera или Hortonworks, и либо использовать комплектную версию Spark, либо установить свой собственный из источника или скомпилированных двоичных файлов, которые вы можете получить с веб-сайта spark.

шаги по установке Spark в локальном режиме:

  1. установить Java 7 или более поздней. Чтобы проверить, что установка java завершена, откройте командную строку типа java и нажмите enter. Если вы получаете сообщение 'Java' is not recognized as an internal or external command. вам нужно настроить переменные окружения, JAVA_HOME и PATH чтобы указать путь jdk.

  2. скачать и установить Scala.

    Set SCALA_HOME на Control Panel\System and Security\System goto " Adv System настройки" и добавить %SCALA_HOME%\bin в переменной PATH в переменных окружения.

  3. установить Python 2.6 или более поздней Python Ссылка для скачивания.

  4. скачать SBT. Установите его и установите SBT_HOME как переменная окружения со значением как <<SBT PATH>>.
  5. скачать winutils.exe С Hortonworks repo или git repo. Поскольку у нас нет локальной установки Hadoop на Windows нужно скачать winutils.exe и поместите его в bin каталог под созданным Hadoop домашний каталог. Набор HADOOP_HOME = <<Hadoop home directory>> в переменной окружения.
  6. мы будем использовать готовый пакет Spark, поэтому выберите готовый пакет Spark для Hadoop Spark скачать. Загрузите и извлеките его.

    Set SPARK_HOME и добавить %SPARK_HOME%\bin в переменной PATH в переменных окружения.

  7. выполнить команду : spark-shell

  8. открыть 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 не сработало для меня.

  1. Итак, хотя я не собираюсь использовать Hadoop, я загрузил предварительно построенный Spark с Hadoop embeded:spark-2.0.0-bin-hadoop2.7.tar.gz

  2. укажите SPARK_HOME в извлеченном каталоге, затем добавьте в PATH:;%SPARK_HOME%\bin;

  3. скачать исполняемый файл winutils из репозитория Hortonworks или с платформы Amazon AWS winutils.

  4. создайте каталог, в котором вы размещаете исполняемые winutils.исполняемый. Например, C:\SparkDev\x64. Добавьте переменную окружения %HADOOP_HOME%, который указывает на этот каталог, затем добавить %HADOOP_HOME%\bin к пути.

  5. используя командную строку, создайте каталог:

    mkdir C:\tmp\hive
    
  6. С помощью исполняемого файла, который вы загрузили, добавить полные права доступа для файла папке, которую вы создали, но с помощью unixian формализм:

    %HADOOP_HOME%\bin\winutils.exe chmod 777 /tmp/hive
    
  7. введите следующую командную строку:

    %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()

Cloudera и Hortonworks являются лучшими инструментами для запуска HDFS в Microsoft Windows. Вы также можете использовать VMWare или VBox для запуска виртуальной машины для создания сборки для ваших HDFS и Spark, Hive, HBase, Pig, Hadoop с Scala, R, Java, Python.