Windows'ta Spark nasıl kurulur?


93

Windows'ta Apache Spark'ı kurmaya çalışıyorum.

Biraz araştırdıktan sonra, istediğim şeyin bağımsız mod olduğunu anlıyorum. Apache spark'ı Windows'ta çalıştırmak için hangi ikili dosyaları indirmeliyim? Spark indirme sayfasında hadoop ve cdh ile dağıtımlar görüyorum.

İnternette buna referansım yok. Bunun için adım adım bir rehber çok takdir edilmektedir.

Yanıtlar:


34

Windows'ta en kolay çözümün kaynaktan derlemek olduğunu buldum.

Bu kılavuzu hemen hemen takip edebilirsiniz : http://spark.apache.org/docs/latest/building-spark.html

Maven'i indirip kurun MAVEN_OPTSve kılavuzda belirtilen değere ayarlayın .

Ancak, sadece Spark ile oynuyorsanız ve aslında kendi makinenizin Windows çalıştırması nedeniyle Windows'ta çalıştırılmasına gerek duymuyorsanız, Spark'ı bir linux sanal makineye yüklemenizi şiddetle tavsiye ederim. Başlamanın en basit yolu muhtemelen Cloudera veya Hortonworks tarafından yapılan hazır görüntüleri indirmek ve ya Spark'ın paketlenmiş sürümünü kullanmak ya da kendi kaynağınızı veya spark web sitesinden edinebileceğiniz derlenmiş ikili dosyaları kurmaktır.


1
Haber verdiğin için teşekkürler. Bağlantı düzeltildi.
jkgeyti

1
Merhaba, My Build on Windows Cygwin ile sorunsuz çalışıyor ancak sbin dizininde ./start-master.sh komutunu çalıştırdığımda Hata: Ana sınıf org.apache.spark.launcher bulunamadı veya yüklenemedi. giriş /cygdrive/c/Spark/spark-1.5.1/sbin/../logs/spark-auser-org.apache.spark.deploy.master.Master-1.host
Geek

Merhaba Yashpal, bunu denedim ama 5. adıma (winutils) takılı kaldım. Bu dosyaları bin dizinime kopyalayamıyorum.
Venkat Ramakrishnan

142

Spark'ı yerel modda kurma adımları:

  1. Java 7 veya üzerini yükleyin . Java kurulumunun tamamlandığını test etmek için, komut istemi türünü açın javave enter tuşuna basın. Bir mesaj alırsanız 'Java' is not recognized as an internal or external command. Ortam değişkenlerinizi yapılandırmanız JAVA_HOMEve PATHjdk yolunu göstermeniz gerekir.

  2. Scala'yı indirin ve yükleyin .

    Set SCALA_HOMEiçinde Control Panel\System and Security\Systemgit "Gelişmiş Sistem ayarları" ve eklemek %SCALA_HOME%\binortam değişkenleri PATH değişkeninde.

  3. Python 2.6 veya sonraki bir sürümünü Python İndirme bağlantısından yükleyin .

  4. SBT'yi indirin . Kurun ve SBT_HOMEdeğerine sahip bir ortam değişkeni olarak ayarlayın <<SBT PATH>>.

  5. Yükleme winutils.exegelen HortonWorks repo veya git repo . Windows'ta yerel bir Hadoop kurulumumuz olmadığından, winutils.exeonu indirip binoluşturulan bir Hadoopana dizinin altındaki bir dizine yerleştirmemiz gerekiyor. HADOOP_HOME = <<Hadoop home directory>>Ortam değişkeninde ayarlayın .

  6. Önceden oluşturulmuş bir Spark paketi kullanacağız, bu nedenle Hadoop Spark indirmesi için önceden oluşturulmuş bir Spark paketi seçin . İndirin ve çıkarın.

    Ortam değişkenlerinde PATH değişkenini ayarlayın SPARK_HOMEve ekleyin %SPARK_HOME%\bin.

  7. Çalıştır komutu: spark-shell

  8. http://localhost:4040/SparkContext web kullanıcı arayüzünü görmek için bir tarayıcıda açın .


5
Herhangi bir yerel derleme gerektirmeyen harika bir rehber.
Matt

2
"Java.lang.IllegalArgumentException:" org.apache.spark.sql.hive.HiveSessionState "başlatılırken hata oluştu". Kovanı kurmak için fazladan bir adıma ihtiyacım var mı?
Stefan


4
Bu çok yardımcı oldu, teşekkürler. Ayrıca, birisi spark-shell çalıştırırken "spark jars dizinini bulamadı" diyerek hata verirse, SPARK_HOME yolunuzda boşluk olmadığından emin olun. Bu konuda uzun süre mücadele etti.
Aakash Jain

1
Bu tam burada altın. Windows'ta Spark ve Scala ile ne kadar sorun yaşadığımı açıklayamam. İlk önce Windows Ubuntu Bash'i denedim. İyi bir fikir değil! Belki en son içerik oluşturucu güncellemesine sahipseniz (Ubuntu 16), ancak aksi takdirde bir sürü hata ve ağ sorunu vardır.
Tom

21

Spark'ı buradan indirebilirsiniz:

http://spark.apache.org/downloads.html

Size bu sürümü tavsiye ederim: Hadoop 2 (HDP2, CDH5)

1.0.0 sürümünden beri, kıvılcımı pencerelerde çalıştırmak için .cmd betikleri vardır .

7zip veya benzerini kullanarak paketini açın.

Başlamak için /bin/spark-shell.cmd --master local [2] komutunu çalıştırabilirsiniz.

Örneğinizi yapılandırmak için şu bağlantıyı takip edebilirsiniz : http://spark.apache.org/docs/latest/


ne hadoop alternatifi önerirsin? Demek istediğim, Windows bilgisayarlarımıza da yükleyebileceğimiz bir şey. Redis?
skan

17

Spark'ı kurmak için aşağıdaki yolları kullanabilirsiniz:

  • Kaynaktan Derleme
  • Önceden oluşturulmuş sürümü kullanma

Kaynaktan Spark oluşturmanın çeşitli yolları olsa da .
İlk önce SBT ile Spark kaynağı oluşturmayı denedim ama bu hadoop gerektiriyor. Bu sorunları önlemek için önceden oluşturulmuş sürüm kullandım.

Source yerine hadoop 2.x sürümü için Prebuilt sürümünü indirdim ve çalıştırdım. Bunun için ön koşul olarak Scala yüklemeniz gerekir.

Buradaki tüm adımları harmanladım:
Windows7'de Apache Spark'ı bağımsız modda çalıştırma

Umarım size yardımcı olur .. !!!


8

Spark-2.xx ile çalışmaya çalışırken, Spark kaynak kodu oluşturmak benim için işe yaramadı.

  1. Bu yüzden, Hadoop'u kullanmayacak olsam da, önceden oluşturulmuş Spark'ı hadoop embed ile indirdim: spark-2.0.0-bin-hadoop2.7.tar.gz

  2. Ayıklanan dizinin üzerine SPARK_HOME'u işaret edin, ardından şuraya ekleyin PATH:;%SPARK_HOME%\bin;

  3. Yürütülebilir winutil'leri Hortonworks deposundan veya Amazon AWS platform winutils'ten indirin .

  4. Çalıştırılabilir winutils.exe dosyasını yerleştirdiğiniz bir dizin oluşturun. Örneğin, C: \ SparkDev \ x64. %HADOOP_HOME%Bu dizine işaret eden ortam değişkenini ekleyin, ardından %HADOOP_HOME%\binPATH'e ekleyin .

  5. Komut satırını kullanarak dizini oluşturun:

    mkdir C:\tmp\hive
    
  6. İndirdiğiniz yürütülebilir dosyayı kullanarak, oluşturduğunuz dosya dizinine tüm izinleri ekleyin, ancak unixian formalizmini kullanın:

    %HADOOP_HOME%\bin\winutils.exe chmod 777 /tmp/hive
    
  7. Aşağıdaki komut satırını yazın:

    %SPARK_HOME%\bin\spark-shell
    

Scala komut satırı girişi otomatik olarak gösterilmelidir.

Not: Scala'yı ayrı olarak yapılandırmanıza gerek yoktur. Ayrıca yerleşiktir.


3

İşte her şeyi yeniden oluşturmadan Windows'ta çalışmasını sağlamak için düzeltmeler - örneğin MS-VS'nin son sürümüne sahip değilseniz. (Bir Win32 C ++ derleyicisine ihtiyacınız olacak, ancak MS VS Community Edition'ı ücretsiz olarak yükleyebilirsiniz.)

Bunu Spark 1.2.2 ve mahout 0.10.2 ile ve Kasım 2015'teki en son sürümlerle denedim. Scala kodunun bir bash betiği çalıştırmaya çalışması gibi bir dizi sorun var (mahout / bin / mahout) elbette çalışmıyor, sbin betikleri pencerelere taşınmadı ve hadoop kurulmamışsa winutils eksik.

(1) Scala yükleyin, ardından spark / hadoop / mahout'u C: köküne kendi ürün adları altında açın.

(2) \ mahout \ bin \ mahout'u mahout.sh.was olarak yeniden adlandırın (buna ihtiyacımız olmayacak)

(3) Aşağıdaki Win32 C ++ programını derleyin ve yürütülebilir dosyayı C: \ mahout \ bin \ mahout adlı bir dosyaya kopyalayın (bu doğru - bir Linux çalıştırılabilir dosyası gibi .exe soneki yok)

#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 komut dosyasını oluşturun ve aşağıdaki içeriği yapıştırın, ancak _CP sınıf yollarındaki kavanozların tam isimleri spark ve mahout sürümlerine bağlı olacaktır. Kurulumunuza göre tüm yolları güncelleyin. 8.3 yol adlarını boşluksuz olarak kullanın. Buradaki sınıf yollarında joker karakterler / yıldız işaretleri kullanamayacağınızı unutmayın.

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 değişkeninin adı, C ++ kodunda belirtildiği gibi değiştirilmemelidir.

Elbette, Spark ustasını ve çalışanı başlatan kodu yorumlayabilirsiniz çünkü Mahout, Spark'ı gerektiği gibi çalıştıracaktır; Spark'ı Mahout olmadan kullanmak istiyorsanız, onu nasıl başlatacağınızı göstermek için toplu işe koydum.

(5) Aşağıdaki eğitim başlamak için iyi bir yerdir:

https://mahout.apache.org/users/sparkbindings/play-with-shell.html

Mahout Spark örneğini şu adresten açabilirsiniz:

"C:\Program Files (x86)\Google\Chrome\Application\chrome" --disable-web-security http://localhost:4040


1

Spark'ı Windows 10'a yüklemek ve python'dan çalıştırmak için yedi adım:

Adım 1: spark 2.2.0 tar (teyp Arşivi) gz dosyasını bu bağlantıdan herhangi bir F klasörüne indirin - https://spark.apache.org/downloads.html . Sıkıştırılmış dosyayı açın ve sıkıştırılmış klasörü istenen klasöre kopyalayın. Spark-2.2.0-bin-hadoop2.7 klasörünü spark için yeniden adlandırın.

Kıvılcım klasörünün yolu C: \ Kullanıcılar \ Masaüstü \ A \ spark olsun

Adım 2: hardoop 2.7.3 tar gz dosyasını bu bağlantıdan aynı F klasörüne indirin - https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.3/hadoop-2.7 .3.tar.gz . Sıkıştırılmış klasörü açın ve sıkıştırılmış klasörü aynı klasöre kopyalayın A. Klasör adını Hadoop-2.7.3.tar'dan hadoop olarak yeniden adlandırın. Hadoop klasörünün yolu C: \ Users \ Desktop \ A \ hadoop olsun

3. Adım: Yeni bir not defteri metin dosyası oluşturun. Bu boş not defteri dosyasını winutils.exe olarak kaydedin (Kayıt türü: Tüm dosyalar ile). Bu O KB winutils.exe dosyasını spark'daki bin klasörünüze kopyalayın - C: \ Users \ Desktop \ A \ spark \ bin

Adım 4: Şimdi bu klasörleri Sistem ortamına eklememiz gerekiyor.

4a: Bir sistem değişkeni oluşturun (kullanıcı değişkeni sistem değişkeninin tüm özelliklerini devralacağı için kullanıcı değişkeni değil) Değişken adı: SPARK_HOME Değişken değeri: C: \ Kullanıcılar \ Masaüstü \ A \ spark

Path sistem değişkenini bulun ve düzenle'yi tıklayın. Birden çok yol göreceksiniz. Yolların hiçbirini silmeyin. Bu değişken değerini ekleyin -; C: \ Users \ Desktop \ A \ spark \ bin

4b: Bir sistem değişkeni oluşturun

Değişken adı: HADOOP_HOME Değişken değeri: C: \ Kullanıcılar \ Masaüstü \ A \ hadoop

Path sistem değişkenini bulun ve düzenle'yi tıklayın. Bu değişken değerini ekleyin -; C: \ Users \ Desktop \ A \ hadoop \ bin

4c: Bir sistem değişkeni oluşturun Değişken adı: JAVA_HOME Java'yı pencerelerde arayın. Sağ tıklayın ve dosya konumunu aç seçeneğini tıklayın. Java dosyalarından herhangi birine tekrar sağ tıklamanız ve dosya konumunu aç seçeneğine tıklamanız gerekecektir. Bu klasörün yolunu kullanacaksınız. VEYA C: \ Program Files \ Java'yı arayabilirsiniz. Sistemde yüklü olan Java sürümüm jre1.8.0_131. Değişken değeri: C: \ Program Files \ Java \ jre1.8.0_131 \ bin

Path sistem değişkenini bulun ve düzenle'yi tıklayın. Bu değişken değerini ekleyin -; C: \ Program Files \ Java \ jre1.8.0_131 \ bin

Adım 5: Komut istemini açın ve spark bin klasörünüze gidin (cd C: \ Users \ Desktop \ A \ spark \ bin yazın). Kıvılcım kabuğu yazın.

C:\Users\Desktop\A\spark\bin>spark-shell

Zaman alabilir ve bazı uyarılar verebilir. Son olarak, kıvılcım 2.2.0 sürümüne hoş geldiniz gösterecektir.

Adım 6: exit () yazın veya komut istemini yeniden başlatın ve kıvılcım kutusu klasörüne tekrar gidin. Pyspark yazın:

C:\Users\Desktop\A\spark\bin>pyspark

Bazı uyarıları ve hataları gösterecek, ancak görmezden gelecektir. İşe yarıyor.

7. Adım: İndirme işleminiz tamamlandı. Spark'ı doğrudan python kabuğundan çalıştırmak istiyorsanız: python klasörünüzdeki Scripts'e gidin ve şunu yazın:

pip install findspark

komut isteminde.

Python kabuğunda

import findspark
findspark.init()

gerekli modülleri içe aktar

from pyspark import SparkContext
from pyspark import SparkConf

Findspark'ı içe aktarma ve başlatma adımlarını atlamak istiyorsanız, lütfen pyspark'ı python kabuğuna içe aktarmada verilen prosedürü izleyin.


0

İşte herhangi bir python konsolundan çalıştırılacak basit bir minimum komut dosyası. C: \ Apache \ spark-1.6.1'e indirdiğiniz Spark kitaplıklarını çıkardığınızı varsayar.

Bu, Windows'ta hiçbir şey oluşturmadan çalışır ve Spark'ın yinelemeli asitleme hakkında şikayet edeceği sorunları çözer.

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

0

Cloudera ve Hortonworks, Microsoft Windows'da HDFS ile başlamak için en iyi araçlardır. Ayrıca, Scala, R, Java, Python ile HDFS ve Spark, Hive, HBase, Pig, Hadoop'unuza derleme oluşturmak için Sanal Makineyi başlatmak için VMWare veya VBox'ı kullanabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.