J'essaie de configurer Apache Spark sous Windows.
Après avoir cherché un peu, je comprends que le mode autonome est ce que je veux. Quels fichiers binaires dois-je télécharger pour exécuter Apache spark dans Windows? Je vois les distributions avec hadoop et cdh sur la page de téléchargement spark.
Je n'ai pas de références web à cela. Un guide étape par étape est très apprécié.
J'ai trouvé que la solution la plus simple sous Windows est de compiler à partir des sources.
Vous pouvez très bien suivre ce guide: http://spark.Apache.org/docs/latest/building-spark.html
Téléchargez et installez Maven, puis définissez MAVEN_OPTS
sur la valeur indiquée dans le guide.
Mais si vous ne faites que jouer avec Spark et que vous n'avez pas besoin de l'utiliser sous Windows pour une autre raison que votre propre ordinateur fonctionne sous Windows, je vous suggère fortement d'installer Spark sur un ordinateur virtuel Linux. machine. Le moyen le plus simple de commencer est probablement de télécharger les images toutes faites créées par Cloudera ou Hortonworks et d’utiliser la version fournie de Spark, ou d’installer votre propre source ou les fichiers binaires compilés que vous pouvez obtenir à partir de spark. site Internet.
Étapes pour installer Spark en mode local:
Installez Java 7 ou version ultérieure . Pour tester Java l'installation est terminée, ouvrez la commande Type d'invite Java
et appuyez sur Entrée. Si vous recevez un message 'Java' is not recognized as an internal or external command.
Vous devez configurer vos variables d'environnement, Java_HOME
et PATH
pour qu'ils pointent vers le chemin de jdk.
Téléchargez et installez Scala .
Définissez SCALA_HOME
dans Control Panel\System and Security\System
allez à "Paramètres système avancés" et ajoutez %SCALA_HOME%\bin
dans la variable PATH dans les variables d'environnement.
Installez Python 2.6 ou version ultérieure à partir de lien de téléchargement Python .
SBT_HOME
en tant que variable d'environnement avec la valeur <<SBT PATH>>
.winutils.exe
à partir de rapport HortoWorks ou rapport Git . Comme nous n'avons pas d'installation locale Hadoop sous Windows, nous devons télécharger winutils.exe
et le placer dans un répertoire bin
sous un répertoire de départ Hadoop
. Définissez HADOOP_HOME = <<Hadoop home directory>>
dans la variable d'environnement.Nous utiliserons un package Spark préconfiguré, choisissez donc un package Spark préconfiguré pour Hadoop Spark download . Téléchargez et extrayez-le.
Définissez SPARK_HOME
et ajoutez %SPARK_HOME%\bin
dans la variable PATH dans les variables d'environnement.
Exécuter la commande: spark-Shell
Ouvrez http://localhost:4040/
dans un navigateur pour afficher l'interface utilisateur Web de SparkContext.
Vous pouvez télécharger spark à partir d'ici:
http://spark.Apache.org/downloads.html
Je vous recommande cette version: Hadoop 2 (HDP2, CDH5)
Depuis la version 1.0.0, il existe . Cmd des scripts pour exécuter spark dans Windows.
Déballez-le avec 7Zip ou similaire.
Pour commencer, vous pouvez exécuter /bin/spark-Shell.cmd --master local [2]
Pour configurer votre instance, vous pouvez suivre ce lien: http://spark.Apache.org/docs/latest/
Vous pouvez utiliser les méthodes suivantes pour configurer Spark:
Bien qu'il y ait différentes façons de construire Spark à partir de la source .
J'ai d'abord essayé de construire Spark source avec SBT mais cela nécessite un hadoop. Pour éviter ces problèmes, j'ai utilisé une version pré-construite.
Au lieu de Source, j'ai téléchargé la version Prebuilt pour Hadoop 2.x et je l'ai exécutée. Pour cela, vous devez installer Scala comme condition préalable.
J'ai rassemblé toutes les étapes ici:
Comment exécuter Apache Spark sur Windows7 en mode autonome
J'espère que ça vous aidera .. !!!
Essayer de travailler avec spark-2.x.x, la construction de Spark code source ne fonctionnait pas pour moi.
Donc, même si je ne vais pas utiliser Hadoop, j'ai téléchargé le Spark pré-construit avec _de_ Hadoop: spark-2.0.0-bin-hadoop2.7.tar.gz
Pointez SPARK_HOME sur le répertoire extrait, puis ajoutez à PATH
: ;%SPARK_HOME%\bin;
Téléchargez l'exécutable winutils à partir du référentiel Hortonworks ou de la plate-forme Amazon AWS winutils .
Créez un répertoire dans lequel vous placez l'exécutable winutils.exe. Par exemple, C:\SparkDev\x64. Ajoutez la variable d'environnement %HADOOP_HOME%
qui pointe vers ce répertoire, puis ajoutez %HADOOP_HOME%\bin
à CHEMIN.
En utilisant la ligne de commande, créez le répertoire:
mkdir C:\tmp\Hive
À l'aide de l'exécutable que vous avez téléchargé, ajoutez des autorisations complètes au répertoire de fichiers que vous avez créé, mais en utilisant le formalisme unixien:
%HADOOP_HOME%\bin\winutils.exe chmod 777 /tmp/Hive
Tapez la ligne de commande suivante:
%SPARK_HOME%\bin\spark-Shell
Les entrées en ligne de commande Scala doivent être affichées automatiquement.
Remarque: Il n'est pas nécessaire de configurer Scala séparément. C'est intégré aussi.
Voici les correctifs permettant de l’exécuter dans Windows sans tout reconstruire, par exemple si vous n’avez pas de version récente de MS-VS. (Vous aurez besoin d’un compilateur Win32 C++, mais vous pouvez installer gratuitement MS VS Community Edition.)
J'ai essayé cela avec Spark 1.2.2 et mahout 0.10.2 ainsi qu'avec les dernières versions de novembre 2015. Il existe un certain nombre de problèmes, notamment le fait que le Scala code essaie de lancer un script bash (mahout/bin/mahout) qui ne fonctionne pas bien sûr, les scripts sbin n’ont pas été portés sous Windows et les winutils sont manquants si hadoop n’est pas installé.
(1) Installez scala, puis décompressez spark/hadoop/mahout à la racine de C: sous leurs noms de produits respectifs.
(2) Renommer\mahout\bin\mahout en mahout.sh.was (nous n'en aurons pas besoin)
(3) Compilez le programme Win32 C++ suivant et copiez le fichier exécutable dans un fichier nommé C:\mahout\bin\mahout (c'est bien cela - aucun suffixe .exe, comme un exécutable 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) Créez le script\mahout\bin\mahout.bat et collez le contenu ci-dessous, bien que les noms exacts des fichiers JAR dans les chemins de classes _CP dépendent des versions de spark et mahout. Mettez à jour tous les chemins selon votre installation. Utilisez des noms de chemins 8.3 sans espaces. Notez que vous ne pouvez pas utiliser de caractères génériques/astérisques dans les chemins de classes ici.
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"
Le nom de la variable MAHOUT_CP ne doit pas être modifié, car il est référencé dans le code C++.
Bien sûr, vous pouvez commenter le code qui lance le maître et le travailleur Spark, car Mahout exécutera Spark selon les besoins; Je viens de le mettre dans le travail par lots pour vous montrer comment le lancer si vous voulez utiliser Spark sans Mahout.
(5) Le tutoriel suivant est un bon point de départ:
https://mahout.Apache.org/users/sparkbindings/play-with-Shell.html
Vous pouvez faire apparaître l'instance Mahout Spark à:
"C:\Program Files (x86)\Google\Chrome\Application\chrome" --disable-web-security http://localhost:4040
Le guide de Ani Menon (merci!) A presque fonctionné pour moi sous Windows 10, il me fallait simplement obtenir un winutils.exe plus récent pour ce git (actuellement hadoop-2.8.1): https://github.com/steveloughran/winutils
Voici sept étapes pour installer spark sur Windows 10 et l'exécuter à partir de python:
Étape 1: téléchargez le fichier gz spark 2.2.0 tar (archive de bandes) dans n’importe quel dossier F à partir de ce lien - https://spark.Apache.org/downloads.html . Décompressez-le et copiez le dossier décompressé dans le dossier souhaité A. Renommez le dossier spark-2.2.0-bin-hadoop2.7.
Soit C:\Users\Desktop\A\spark le chemin d'accès au dossier spark
Étape 2: téléchargez le fichier hard goop 2.7.3 tar gz dans le même dossier F à partir de ce lien - https://www.Apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.3). /hadoop-2.7.3.tar.gz . Décompressez-le et copiez le dossier décompressé dans le même dossier A. Renommez le nom du dossier de Hadoop-2.7.3.tar en hadoop. Soit le chemin d'accès au dossier hadoop C:\Users\Desktop\A\hadoop
Étape 3: Créez un nouveau fichier texte pour le bloc-notes. Enregistrez ce fichier bloc-notes vide sous le nom winutils.exe (avec Enregistrer sous le type: Tous les fichiers). Copiez ce fichier O KB winutils.exe dans votre dossier bin dans spark - C:\Utilisateurs\Bureau\A\spark\bin
Étape 4: Maintenant, nous devons ajouter ces dossiers à l'environnement système.
4a: Créez une variable système (la variable non utilisateur car la variable utilisateur héritera de toutes les propriétés de la variable système) Nom de la variable: SPARK_HOME Valeur de la variable: C:\Utilisateurs\Bureau\A\spark
Trouvez la variable système Path et cliquez sur Editer. Vous verrez plusieurs chemins. Ne supprimez aucun des chemins. Ajoutez cette valeur de variable -; C:\Utilisateurs\Bureau\A\spark\bin
4b: créer une variable système
Nom de la variable: HADOOP_HOME Valeur de la variable: C:\Utilisateurs\Bureau\A\hadoop
Trouvez la variable système Path et cliquez sur Editer. Ajoutez cette valeur de variable -; C:\Utilisateurs\Bureau\A\hadoop\bin
4c: Créez une variable système Nom de la variable: Java_HOME Recherchez Java dans Windows. Faites un clic droit et cliquez sur Ouvrir l'emplacement du fichier. Vous devrez de nouveau cliquer avec le bouton droit sur l’un des fichiers Java et cliquer sur l’emplacement du fichier ouvert. Vous utiliserez le chemin de ce dossier. OR vous pouvez rechercher C:\Program Files\Java. Ma version Java installée sur le système est jre1.8.0_131. Valeur de la variable: C:\Program Files\Java\jre1.8.0_131\bin
Trouvez la variable système Path et cliquez sur Editer. Ajoutez cette valeur de variable -; C:\Program Files\Java\jre1.8.0_131\bin
Étape 5: Ouvrez l’invite de commande et accédez au dossier spark bin (tapez cd C:\Utilisateurs\Bureau\A\spark\bin). Tapez spark-shell.
C:\Users\Desktop\A\spark\bin>spark-Shell
Cela peut prendre du temps et donner des avertissements. Enfin, bienvenue à spark version 2.2.0
Étape 6: Tapez exit () ou relancez la commande Invite et accédez à nouveau au dossier spark bin. Tapez pyspark:
C:\Users\Desktop\A\spark\bin>pyspark
Il affichera des avertissements et des erreurs, mais ignorera. Ça marche.
Étape 7: Votre téléchargement est terminé. Si vous souhaitez exécuter directement spark à partir de python Shell, alors: accédez à Scripts dans votre dossier python et tapez
pip install findspark
dans l'invite de commande.
Dans python Shell
import findspark
findspark.init()
importer les modules nécessaires
from pyspark import SparkContext
from pyspark import SparkConf
Si vous souhaitez ignorer les étapes d’importation et d’initialisation de findpark, veuillez suivre la procédure décrite dans importation de pyspark dans python Shell
Cloudera et Hortonworks sont les meilleurs outils pour démarrer avec HDFS dans Microsoft Windows. Vous pouvez également utiliser VMWare ou VBox pour lancer Virtual Machine afin d’établir la construction de vos systèmes HDFS et Spark, Hive, HBase, Pig, Hadoop avec Scala, R, Java et Python.
Voici un script minimal simple à exécuter à partir de n’importe quelle console python. Cela suppose que vous avez extrait les bibliothèques Spark que vous avez téléchargées dans C:\Apache\spark-1.6.1.
Cela fonctionne dans Windows sans rien construire et résout les problèmes où Spark se plaindrait du décapage récursif.
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()