mail - ¿Cómo configurar Spark en Windows?
spark mail windows (10)
Estoy intentando configurar Apache Spark en Windows.
Después de buscar un poco, entiendo que el modo independiente es lo que quiero. ¿Qué binarios descargo para ejecutar Apache spark en Windows? Veo distribuciones con hadoop y cdh en la página de descarga de chispa.
No tengo referencias en la web a esto. Una guía paso a paso es muy apreciada.
Al tratar de trabajar con spark-2.xx, la creación del código fuente de Spark no funcionó para mí.
Entonces, aunque no voy a usar Hadoop, descargué el Spark preinstalado con hadoop embeded:
spark-2.0.0-bin-hadoop2.7.tar.gz
Señale SPARK_HOME en el directorio extraído, luego agregue a
PATH
:;%SPARK_HOME%/bin;
Descargue los winutils ejecutables del repositorio de Hortonworks o de winutils plataforma Amazon AWS.
Cree un directorio donde coloca el ejecutable winutils.exe. Por ejemplo, C: / SparkDev / x64. Agregue la variable de entorno
%HADOOP_HOME%
que apunta a este directorio, luego agregue%HADOOP_HOME%/bin
a PATH.Usando la línea de comando, crea el directorio:
mkdir C:/tmp/hive
Usando el ejecutable que descargó, agregue permisos completos al directorio de archivos que creó pero usando el formalismo unixiano:
%HADOOP_HOME%/bin/winutils.exe chmod 777 /tmp/hive
Escriba la siguiente línea de comando:
%SPARK_HOME%/bin/spark-shell
La entrada de la línea de comandos Scala debe mostrarse automáticamente.
Observación: No necesita configurar Scala por separado. Está incorporado también.
Aquí están las soluciones para que se ejecute en Windows sin reconstruir todo, como si no tiene una versión reciente de MS-VS. (Necesitará un compilador Win32 C ++, pero puede instalar MS VS Community Edition gratis.)
He intentado esto con Spark 1.2.2 y mahout 0.10.2, así como con las últimas versiones en noviembre de 2015. Hay una serie de problemas, incluido el hecho de que el código Scala intenta ejecutar un script bash (mahout / bin / mahout) que no funciona, por supuesto, los scripts sbin no han sido portados a windows, y los winutils faltan si no está instalado hadoop.
(1) Instale scala, luego descomprima spark / hadoop / mahout en la raíz de C: debajo de sus respectivos nombres de productos.
(2) Cambie el nombre de / mahout / bin / mahout a mahout.sh.was (no lo necesitaremos)
(3) Compile el siguiente programa Win32 C ++ y copie el ejecutable en un archivo llamado C: / mahout / bin / mahout (eso es correcto - no sufijo .exe, como un ejecutable 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) Cree el script / mahout / bin / mahout.bat y pegue el siguiente contenido, aunque los nombres exactos de los jar en las rutas de la clase _CP dependerán de las versiones de spark y mahout. Actualice cualquier ruta por su instalación. Use 8.3 nombres de ruta sin espacios en ellos. Tenga en cuenta que no puede usar comodines / asteriscos en los classpaths aquí.
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"
El nombre de la variable MAHOUT_CP no se debe cambiar, ya que se hace referencia en el código de C ++.
Por supuesto, puede comentar el código que lanza el maestro y el trabajador de Spark porque Mahout ejecutará Spark según sea necesario; Simplemente lo puse en el trabajo por lotes para mostrarle cómo iniciarlo si quería usar Spark sin Mahout.
(5) El siguiente tutorial es un buen lugar para comenzar:
https://mahout.apache.org/users/sparkbindings/play-with-shell.html
Puede abrir la instancia de Mahout Spark en:
"C:/Program Files (x86)/Google/Chrome/Application/chrome" --disable-web-security http://localhost:4040
Aquí hay siete pasos para instalar spark en windows 10 y ejecutarlo desde python:
Paso 1: descargue el archivo chispa 2.2.0 tar (archivo de cinta) gz a cualquier carpeta F desde este enlace - https://spark.apache.org/downloads.html . Descomprímelo y copie la carpeta descomprimida en la carpeta deseada A. Cambie el nombre de la carpeta spark-2.2.0-bin-hadoop2.7 a spark.
Deje que el camino a la carpeta de chispa sea C: / Users / Desktop / A / spark
Paso 2: descargue el archivo hardoop 2.7.3 tar gz a la misma carpeta F desde este enlace - https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz . Descomprímala y copie la carpeta descomprimida en la misma carpeta A. Cambie el nombre de la carpeta de Hadoop-2.7.3.tar a hadoop. Deje que la ruta a la carpeta hadoop sea C: / Users / Desktop / A / hadoop
Paso 3: crea un nuevo archivo de texto de bloc de notas. Guarde este archivo de bloc de notas vacío como winutils.exe (con Guardar como tipo: Todos los archivos). Copie este archivo O KB winutils.exe en su carpeta bin en la chispa - C: / Users / Desktop / A / spark / bin
Paso 4: Ahora, tenemos que agregar estas carpetas al entorno del sistema.
4a: Cree una variable de sistema (no variable de usuario ya que la variable de usuario heredará todas las propiedades de la variable de sistema) Nombre de la variable: SPARK_HOME Valor de la variable: C: / Users / Desktop / A / spark
Encuentre la variable del sistema Path y haga clic en editar. Verás múltiples caminos. No elimine ninguna de las rutas. Agregue este valor de variable -; C: / Users / Desktop / A / spark / bin
4b: Crea una variable de sistema
Nombre de la variable: HADOOP_HOME Valor de la variable: C: / Users / Desktop / A / hadoop
Encuentre la variable del sistema Path y haga clic en editar. Agregue este valor de variable -; C: / Users / Desktop / A / hadoop / bin
4c: Crear una variable del sistema Nombre de la variable: JAVA_HOME Buscar Java en Windows. Haga clic derecho y haga clic en abrir la ubicación del archivo. Deberá volver a hacer clic con el botón derecho en cualquiera de los archivos java y hacer clic en abrir la ubicación del archivo. Estarás usando la ruta de esta carpeta. O puede buscar C: / Program Files / Java. Mi versión de Java instalada en el sistema es jre1.8.0_131. Valor de variable: C: / Archivos de programa / Java / jre1.8.0_131 / bin
Encuentre la variable del sistema Path y haga clic en editar. Agregue este valor de variable -; C: / Archivos de programa / Java / jre1.8.0_131 / bin
Paso 5: abra el símbolo del sistema y vaya a la carpeta de su buzón de chispa (escriba cd C: / Users / Desktop / A / spark / bin). Escriba spark-shell.
C:/Users/Desktop/A/spark/bin>spark-shell
Puede tomar tiempo y dar algunas advertencias. Finalmente, se mostrará bienvenido a la versión de chispa 2.2.0
Paso 6: Escriba exit () o reinicie el símbolo del sistema y vuelva a abrir la carpeta spark-bin. Escriba pyspark:
C:/Users/Desktop/A/spark/bin>pyspark
Mostrará algunas advertencias y errores pero ignorará. Funciona.
Paso 7: tu descarga está completa. Si desea ejecutar directamente la chispa del shell de Python, vaya a Scripts en su carpeta python y escriba
pip install findspark
en el símbolo del sistema.
En shell python
import findspark
findspark.init()
importar los módulos necesarios
from pyspark import SparkContext
from pyspark import SparkConf
Si desea omitir los pasos para importar findpark e inicializarlo, siga el procedimiento dado en la importación de pyspark en Python Shell.
Aquí hay un script mínimo simple para ejecutar desde cualquier consola de Python. Supone que ha extraído las bibliotecas Spark que ha descargado en C: / Apache / spark-1.6.1.
Esto funciona en Windows sin construir nada y resuelve problemas en los que Spark se quejaría sobre el decapado recursivo.
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 y Hortonworks son las mejores herramientas para comenzar con el HDFS en Microsoft Windows. También puede usar VMWare o VBox para iniciar la máquina virtual y establecer la compilación en su HDFS y Spark, Hive, HBase, Pig, Hadoop con Scala, R, Java, Python.
Encontré que la solución más fácil en Windows es construir desde la fuente.
Puedes seguir más o menos esta guía: http://spark.apache.org/docs/latest/building-spark.html
Descargue e instale Maven, y configure MAVEN_OPTS
al valor especificado en la guía.
Pero si solo está jugando con Spark y no necesita ejecutarlo en Windows por alguna otra razón que su propia máquina ejecute Windows, le sugiero encarecidamente que instale Spark en una máquina virtual Linux. La forma más sencilla de comenzar es descargar las imágenes ya compuestas hechas por Cloudera o Hortonworks, y usar la versión empaquetada de Spark, o instalar la suya propia desde la fuente o los binarios compilados que puede obtener del sitio web de la chispa.
La guía de Ani Menon (¡gracias!) Casi funcionó para mí en Windows 10, solo tenía que obtener un winutils.exe más nuevo de ese git (actualmente hadoop-2.8.1): https://github.com/steveloughran/winutils
Pasos para instalar Spark en modo local:
Instala Java 7 o posterior . Para probar que la instalación de java está completa, abra el símbolo del sistema, escriba
java
y presione enter. Si recibe un mensaje,''Java'' is not recognized as an internal or external command.
Necesita configurar sus variables de entorno,JAVA_HOME
yPATH
para apuntar a la ruta de jdk.Establezca
SCALA_HOME
enControl Panel/System and Security/System
vaya a "Configuración del sistema Adv" y agregue%SCALA_HOME%/bin
en la variable PATH en las variables de entorno.Instale Python 2.6 o posterior desde el enlace de descarga de Python .
- Descargar SBT . Instálelo y configure
SBT_HOME
como una variable de entorno con valor como<<SBT PATH>>
. - Descargue
winutils.exe
de Repo o git repo de HortonWorks . Como no tenemos una instalación local de Hadoop en Windows, tenemos que descargarwinutils.exe
y colocarlo en un directoriobin
bajo un directorio de inicioHadoop
creado. EstablezcaHADOOP_HOME = <<Hadoop home directory>>
en la variable de entorno. Usaremos un paquete Spark preconstruido, por lo tanto, elija un paquete Spark preconstruido para descargar Hadoop Spark . Descárgalo y extráelo.
Establezca
SPARK_HOME
y agregue%SPARK_HOME%/bin
en la variable PATH en las variables de entorno.Ejecutar comando:
spark-shell
Abra
http://localhost:4040/
en un navegador para ver la interfaz de usuario web de SparkContext.
Puede descargar la chispa desde aquí:
http://spark.apache.org/downloads.html
Te recomiendo esta versión: Hadoop 2 (HDP2, CDH5)
Desde la versión 1.0.0 hay scripts .cmd para ejecutar spark en windows.
Descomprimirlo usando 7zip o similar.
Para comenzar, puede ejecutar /bin/spark-shell.cmd --master local [2]
Para configurar su instancia, puede seguir este enlace: http://spark.apache.org/docs/latest/
Puede usar las siguientes formas para configurar Spark:
- Construyendo desde Fuente
- Uso de la versión precompilada
Aunque hay varias formas de http://spark.apache.org/docs/latest/building-spark.html .
Primero intenté construir la fuente Spark con SBT, pero eso requiere hadoop. Para evitar esos problemas, utilicé la versión preconstruida.
En lugar de Source, descargué la versión de Prebuilt para la versión de hadoop 2.x y la ejecuté. Para esto, necesita instalar Scala como requisito previo.
He cotejado todos los pasos aquí:
Cómo ejecutar Apache Spark en Windows 7 en modo independiente
Espero que te ayude ... !!!