विंडोज पर स्पार्क कैसे सेट करें?


93

मैं अपाचे स्पार्क को विंडोज पर सेटअप करने की कोशिश कर रहा हूं।

थोड़ा खोजने के बाद, मैं समझता हूं कि स्टैंडअलोन मोड वही है जो मैं चाहता हूं। खिड़कियों में अपाचे स्पार्क को चलाने के लिए मुझे कौन सी बायनेरी डाउनलोड करनी है? मैं स्पार्क डाउनलोड पेज पर हडूप और सीडीएच के साथ वितरण देखता हूं।

मेरे पास इसके लिए वेब में संदर्भ नहीं हैं। इस के लिए एक कदम दर कदम गाइड बहुत सराहना की है।

जवाबों:


34

मुझे लगता है कि विंडोज पर सबसे आसान समाधान स्रोत से निर्माण करना है।

आप इस गाइड का बहुत अधिक अनुसरण कर सकते हैं: http://spark.apache.org/docs/latest/building-spark.html

मावेन को डाउनलोड और इंस्टॉल करें, और MAVEN_OPTSगाइड में निर्दिष्ट मूल्य पर सेट करें।

लेकिन अगर आप सिर्फ स्पार्क के साथ खेल रहे हैं, और वास्तव में इसे विंडोज पर चलाने की आवश्यकता नहीं है, तो किसी अन्य कारण से कि आपकी खुद की मशीन विंडोज चल रही है, मैं दृढ़ता से सुझाव देता हूं कि आप एक स्पार्क वर्चुअल मशीन पर स्पार्क स्थापित करें। आरंभ करने का सबसे सरल तरीका संभवतः क्लॉडर या हॉर्टोनवर्क्स द्वारा बनाई गई तैयार छवियों को डाउनलोड करना है, और या तो स्पार्क के बंडल संस्करण का उपयोग करना है, या अपने स्वयं के स्रोत या संकलित बायनेरी को स्पार्क वेबसाइट से प्राप्त कर सकते हैं।


1
चेतावनी देने के लिए आपका धन्यवाद। लिंक तय है।
१:57:०६ पर jkgeyti

1
नमस्ते, विंडोज़ पर मेरा बिल्ड Cygwin के साथ ठीक काम करता है, लेकिन जब मैं कमांड चलाता हूं ।/start-master.sh को sbin डायरेक्टरी में मुझे एरर मिलती है एरर: मुख्य क्लास org.apache.spark.launcher.Most फुल को ढूंढ या लोड नहीं कर सका /cygdrive/c/Spark/spark-1.5.1.1/sbin/../logs/spark-auser-org.apache.spark.deploy.master.Master-1.host
Geek

हाय यशपाल, मैंने वह कोशिश की, लेकिन मैं चरण 5 (विंडुटिल्स) पर फंस गया। मैं उन फ़ाइलों को अपनी बिन निर्देशिका में कॉपी करने में असमर्थ हूं।
वेंकट रामकृष्णन

140

स्थानीय मोड में स्पार्क स्थापित करने के लिए कदम:

  1. जावा 7 या बाद में स्थापित करें । जावा इंस्टॉलेशन पूरा करने के लिए, कमांड प्रॉम्प्ट टाइप करें javaऔर एंटर दबाएं। यदि आपको एक संदेश प्राप्त होता है, तो आपको 'Java' is not recognized as an internal or external command. अपने पर्यावरण चर को कॉन्फ़िगर करने की आवश्यकता है, JAVA_HOMEऔर PATHjdk के मार्ग की ओर इंगित करने के लिए।

  2. स्कैला डाउनलोड और इंस्टॉल करें

    गोटो " निर्धारित सिस्टम सेटिंग्स" SCALA_HOMEमें सेट करें Control Panel\System and Security\Systemऔर %SCALA_HOME%\binपर्यावरण चर में पथ चर में जोड़ें ।

  3. पायथन 2.6 स्थापित करें या बाद में पायथन डाउनलोड लिंक से

  4. SBT डाउनलोड करें । इसे स्थापित करें और SBT_HOMEमान के साथ एक पर्यावरण चर के रूप में सेट करें <<SBT PATH>>

  5. HortonWorks रेपो या गिट रेपोwinutils.exe से डाउनलोड करें । चूँकि हमारे पास विंडोज पर एक स्थानीय Hadoop इंस्टॉलेशन नहीं है, इसलिए हमें इसे होम डायरेक्टरी के तहत डायरेक्ट्री में डाउनलोड और प्लेस करना होगा । पर्यावरण चर में सेट करें ।winutils.exebinHadoopHADOOP_HOME = <<Hadoop home directory>>

  6. हम एक पूर्व-निर्मित स्पार्क पैकेज का उपयोग करेंगे, इसलिए Hadoop Spark डाउनलोड के लिए स्पार्क पूर्व-निर्मित पैकेज चुनें । डाउनलोड करें और इसे निकालें।

    सेट SPARK_HOMEऔर %SPARK_HOME%\binपर्यावरण चर में पथ चर में जोड़ें ।

  7. चलाने के आदेश: spark-shell

  8. http://localhost:4040/SparkContext वेब UI देखने के लिए एक ब्राउज़र में खोलें ।


5
महान गाइड जिसे किसी भी स्थानीय संकलन की आवश्यकता नहीं है।
मैट

2
मुझे "java.lang.IllegalArgumentException: त्रुटि प्राप्त हुई, जबकि 'org.apache.spark.sql.hive.HiveSessionState' का तात्पर्य। क्या मुझे हाइव लगाने के लिए एक अतिरिक्त कदम की आवश्यकता है?
स्टीफन


4
यह बहुत उपयोगी है, धन्यवाद। इसके अलावा, अगर किसी को स्पार्क-शेल चलाने पर "स्पार्क जार निर्देशिका खोजने में विफल" कहने में त्रुटि हुई है, तो सुनिश्चित करें कि आपके SPARK_HOME पथ में कोई स्थान नहीं है। लंबे समय तक इस पर संघर्ष किया।
आकाश जैन

1
यहीं पर सोना है। मैं समझा नहीं सकता कि मुझे विंडोज में स्पार्क और स्काला से कितनी परेशानी थी। मैंने पहली बार विंडोज उबंटू बैश की कोशिश की। अच्छा विचार नहीं! हो सकता है कि यदि आपके पास नवीनतम निर्माता अपडेट (उबंटू 16) हो, लेकिन अन्यथा त्रुटियों और नेटवर्क मुद्दों का एक टन है।
टॉम

21

आप यहाँ से स्पार्क डाउनलोड कर सकते हैं:

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

मैं आपको इस संस्करण की सलाह देता हूं: Hadoop 2 (HDP2, CDH5)

संस्करण 1.0.0 के बाद से .cmd हैं विंडोज़ में स्पार्क चलाने के लिए स्क्रिप्ट हैं।

7zip या इसी तरह का उपयोग कर इसे अनपैक करें।

शुरू करने के लिए आप /bin/spark-shell.cmd --master स्थानीय [2] पर अमल कर सकते हैं

अपने उदाहरण को कॉन्फ़िगर करने के लिए, आप इस लिंक का अनुसरण कर सकते हैं: http://spark.apache.org/docs/latest/


आपके पास क्या विकल्प होगा? मेरा मतलब है कि हम अपने विंडोज़ पीसी पर भी स्थापित कर सकते हैं। Redis?
स्कैन

17

आप स्पार्क को सेटअप करने के लिए निम्नलिखित तरीकों का उपयोग कर सकते हैं:

  • स्रोत से भवन
  • प्रीबिल्ट रिलीज़ का उपयोग करना

हालांकि स्पार्क को स्रोत से बनाने के विभिन्न तरीके हैं ।
पहले मैंने एसबीटी के साथ स्पार्क स्रोत बनाने की कोशिश की, लेकिन इसके लिए हूप की आवश्यकता थी। उन मुद्दों से बचने के लिए, मैंने पूर्व-निर्मित रिलीज़ का उपयोग किया।

स्रोत के बजाय, मैंने हडूप 2.x संस्करण के लिए प्रीबिल्ट रिलीज़ डाउनलोड किया और इसे चलाया। इसके लिए आपको स्केला को शर्त के रूप में स्थापित करने की आवश्यकता है।

मैंने यहां सभी चरणों को समेटा है:
विंडोज 7 पर अपाचे स्पार्क को स्टैंडअलोन मोड में कैसे चलाया जाए

आशा है कि यह आपकी मदद करेगा .. !!!


8

स्पार्क-2.xx के साथ काम करने की कोशिश करना, स्पार्क सोर्स कोड बनाना मेरे लिए काम नहीं करता था।

  1. इसलिए, हालांकि मैं Hadoop का उपयोग नहीं करने जा रहा हूं, मैंने पूर्व निर्मित स्पार्क को हूपअप एंबेड के साथ डाउनलोड किया है: spark-2.0.0-bin-hadoop2.7.tar.gz

  2. निकाले गए निर्देशिका पर SPARK_HOME इंगित करें, फिर इसमें जोड़ें PATH:;%SPARK_HOME%\bin;

  3. Hortonworks रिपॉजिटरी से या अमेजन AWS प्लेटफॉर्म विंडुटिल से निष्पादन योग्य विंडुटिल डाउनलोड करें ।

  4. एक निर्देशिका बनाएँ जहाँ आप निष्पादन योग्य winutils.exe रखते हैं। उदाहरण के लिए, C: \ SparkDev \ x64। पर्यावरण चर जोड़ें %HADOOP_HOME%जो इस निर्देशिका को इंगित करता है, फिर %HADOOP_HOME%\binPATH में जोड़ें ।

  5. कमांड लाइन का उपयोग करके, डायरेक्टरी बनाएं:

    mkdir C:\tmp\hive
    
  6. आपके द्वारा डाउनलोड किए गए निष्पादन योग्य का उपयोग करते हुए, आपके द्वारा बनाई गई फ़ाइल निर्देशिका में पूर्ण अनुमतियाँ जोड़ें, लेकिन यूनिक्स की औपचारिकता का उपयोग करते हुए:

    %HADOOP_HOME%\bin\winutils.exe chmod 777 /tmp/hive
    
  7. निम्न कमांड लाइन टाइप करें:

    %SPARK_HOME%\bin\spark-shell
    

स्काला कमांड लाइन इनपुट स्वचालित रूप से दिखाया जाना चाहिए।

टिप्पणी: आपको अलग से स्काला को कॉन्फ़िगर करने की आवश्यकता नहीं है। यह बिल्ट-इन भी है।


3

यहाँ सब कुछ पुनर्निर्माण के बिना विंडोज में चलाने के लिए इसे ठीक किया गया है - जैसे कि यदि आपके पास एमएस-वीएस का हालिया संस्करण नहीं है। (आपको एक Win32 C ++ कंपाइलर की आवश्यकता होगी, लेकिन आप MS VS कम्यूनिटी एडिशन को फ्री में इंस्टॉल कर सकते हैं।)

मैंने स्पार्क 1.2.2 और महावत 0.10.2 के साथ-साथ नवीनतम संस्करणों के साथ नवंबर 2015 में इसकी कोशिश की है। इस तथ्य सहित कई समस्याएं हैं कि स्काला कोड एक बैश स्क्रिप्ट (महावत / बिन /) चलाने की कोशिश करता है महावत) जो निश्चित रूप से काम नहीं करता है, साइबिन स्क्रिप्ट को खिड़कियों पर पोर्ट नहीं किया गया है, और विंडूप गायब नहीं हैं यदि हडूप स्थापित नहीं है।

(1) स्कैला स्थापित करें, फिर सी की जड़ में स्पार्क / हडूप / महावत: उनके संबंधित उत्पाद नामों के तहत।

(2) mahout.sh.was (हमें इसकी आवश्यकता नहीं होगी ) का नाम बदलें

(3) निम्नलिखित Win32 C ++ प्रोग्राम को संकलित करें और निष्पादन योग्य को C: \ mahout \ bin \ mahout नाम की फ़ाइल में कॉपी करें (यह सही है - नहीं। Exe प्रत्यय, लिनक्स निष्पादन योग्य की तरह।

#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.bat बनाएं और नीचे दी गई सामग्री में पेस्ट करें, हालांकि _CP वर्ग पथों में जार के सटीक नाम स्पार्क और महावत के संस्करणों पर निर्भर करेंगे। अपनी स्थापना के अनुसार किसी भी पथ को अपडेट करें। उन में रिक्त स्थान के बिना 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 ++ कोड में संदर्भित है।

बेशक आप स्पार्क मास्टर और कार्यकर्ता को लॉन्च करने वाले कोड को कमेंट-आउट कर सकते हैं क्योंकि महोट स्पार्क को आवश्यकतानुसार चलाएगा; मैंने इसे बैच जॉब में डाल दिया है कि आपको यह दिखाने के लिए कि यदि आप महक के बिना स्पार्क का उपयोग करना चाहते हैं तो इसे कैसे लॉन्च किया जाए।

(5) निम्नलिखित ट्यूटोरियल शुरू करने के लिए एक अच्छी जगह है:

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

आप यहां महावत स्पार्क उदाहरण ला सकते हैं:

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

2

एनी मेनन (thx!) के गाइड ने लगभग विंडोज़ 10 पर मेरे लिए काम किया, मुझे बस एक नई winutils.exe प्राप्त करनी थी जो उस git (वर्तमान में हैडअप-2.8.1): https://github.com/steveloughran/winutils


1

यहाँ विंडोज 10 पर स्पार्क स्थापित करने और अजगर से इसे चलाने के सात चरण हैं:

चरण 1: इस लिंक से किसी भी फ़ोल्डर F के लिए स्पार्क 2.2.0 टार (टेप आर्काइव) gz फ़ाइल डाउनलोड करें - https://spark.apache.org/downloads.html । इसे अनज़िप करें और अनज़िप्ड फ़ोल्डर को वांछित फ़ोल्डर में कॉपी करें। स्पार्क-2.2.0-बिन-हैडूप 2.7 फ़ोल्डर को स्पार्क करने के लिए नाम बदलें।

स्पार्क फ़ोल्डर को पथ दें C: \ Users \ Desktop \ A \ स्पार्क

चरण 2: इस लिंक से उसी फ़ोल्डर F को हार्डअप 2.7.3 टार gz फ़ाइल डाउनलोड करें - https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.3/hadoop-2.7 .3.tar.gz । इसे अनज़िप करें और अनज़िप्ड फ़ोल्डर को उसी फ़ोल्डर में कॉपी करें। फ़ोल्डर का नाम Hadoop-2.7.3.tar से हडूप पर रखें। हडूप फ़ोल्डर को पथ दें C: \ Users \ Desktop \ A \ hadoop

चरण 3: एक नया नोटपैड पाठ फ़ाइल बनाएँ। इस खाली नोटपैड फ़ाइल को winutils.exe (प्रकार के रूप में सहेजें: सभी फ़ाइलें) के रूप में सहेजें। इस O KB winutils.exe फ़ाइल को स्पार्क में अपने बिन फ़ोल्डर में कॉपी करें - C: \ Users \ Desktop \ A \ spark \ bin

चरण 4: अब, हमें इन फ़ोल्डरों को सिस्टम वातावरण में जोड़ना होगा।

4a: एक सिस्टम वैरिएबल बनाएं (यूजर वैरिएबल के रूप में यूजर वेरिएबल सिस्टम वैरिएबल के सभी गुण इनहेरिट नहीं करेगा) वेरिएबल नाम: SPARK_HOME वेरिएबल वैल्यू: C: \ Users \ Desktop \ A \ स्पार्क

पाथ सिस्टम वैरिएबल खोजें और एडिट पर क्लिक करें। आपको कई रास्ते दिखाई देंगे। किसी भी पथ को नष्ट न करें। इस चर मान को जोड़ें - C: \ Users \ Desktop \ A \ spark \ bin

4 बी: एक सिस्टम वैरिएबल बनाएं

चर नाम: HADOOP_HOME चर मान: C: \ Users \ Desktop \ A \ hadoop

पाथ सिस्टम वैरिएबल खोजें और एडिट पर क्लिक करें। इस चर मान को जोड़ें - C: \ Users \ Desktop \ A \ hadoop \ bin

4c: एक सिस्टम वैरिएबल नाम बनाएं: विंडोज़ में JAVA_HOME सर्च जावा। राइट क्लिक करें और ओपन फाइल लोकेशन पर क्लिक करें। आपको फिर से किसी एक जावा फाइल पर राइट क्लिक करना होगा और ओपन फाइल लोकेशन पर क्लिक करना होगा। आप इस फ़ोल्डर का पथ उपयोग करेंगे। या आप C: \ Program Files \ Java खोज सकते हैं। सिस्टम पर स्थापित मेरा जावा संस्करण jre1.8.0_131 है। परिवर्तनीय मूल्य: C: \ Program Files \ Java \ jre1.8.0_131 \ bin

पाथ सिस्टम वैरिएबल खोजें और एडिट पर क्लिक करें। इस चर मान को जोड़ें - C: \ Program Files \ Java \ jre1.8.0_131 \ bin

चरण 5: कमांड प्रॉम्प्ट खोलें और अपने स्पार्क बिन फ़ोल्डर पर जाएं (cd C: \ Users \ Desktop \ A \ स्पार्क \ bin)। स्पार्क-शेल टाइप करें।

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

इसमें समय लग सकता है और कुछ चेतावनी दे सकते हैं। अंत में, यह स्पार्क संस्करण 2.2.0 में आपका स्वागत है

चरण 6: बाहर निकलें टाइप करें () या कमांड प्रॉम्प्ट को पुनरारंभ करें और फिर से स्पार्क बिन फ़ोल्डर पर जाएं। टाइप करें pyspark:

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

यह कुछ चेतावनियों और त्रुटियों को दिखाएगा लेकिन अनदेखा कर देगा। यह काम करता हैं।

चरण 7: आपका डाउनलोड पूरा हो गया है। यदि आप सीधे अजगर शेल से स्पार्क चलाना चाहते हैं: तो अपने अजगर फ़ोल्डर में लिपियों पर जाएं और टाइप करें

pip install findspark

कमांड प्रॉम्प्ट में।

अजगर के खोल में

import findspark
findspark.init()

आवश्यक मॉड्यूल आयात करें

from pyspark import SparkContext
from pyspark import SparkConf

यदि आप फाइंडपार्क को आयात करने और इसे इनिशियलाइज़ करने के लिए चरणों को छोड़ना चाहते हैं, तो कृपया पायथन शेल में pyspark आयात करने में दी गई प्रक्रिया का पालन करें


0

यहां किसी भी अजगर कंसोल से चलने के लिए एक सरल न्यूनतम स्क्रिप्ट है। यह मानता है कि आपने स्पार्क पुस्तकालयों को निकाला है जिन्हें आपने C: \ Apache \ spark-1.6.1 में डाउनलोड किया है।

यह विंडोज में बिना किसी निर्माण के काम करता है और समस्याओं को हल करता है जहां स्पार्क पुनरावर्ती अचार के बारे में शिकायत करेगा।

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

Microsoft Windows में HDFS के साथ शुरू करने के लिए Cloudera और Hortonworks सबसे अच्छे उपकरण हैं। आप अपने HDFS और स्पार्क, हाइव, HBase, सुअर, स्काला, आर, जावा, पायथन के साथ Hadoop बनाने के लिए वर्चुअल मशीन आरंभ करने के लिए VMWare या VBox का उपयोग कर सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.