私はWindows上でApache Sparkをセットアップしようとしています。
ちょっと調べた後、私はスタンドアロンモードが私が欲しいものであることを理解します。 WindowsでApache sparkを実行するためにどのバイナリをダウンロードすればよいですか?私はsparkのダウンロードページでhadoopとcdhの配布を見ています。
私はこれについてウェブで言及していません。これに対するステップバイステップガイドは高く評価されています。
私はWindows上で最も簡単な解決策はソースから構築することであることがわかりました。
あなたはほとんどこのガイドに従うことができます: http://spark.Apache.org/docs/latest/building-spark.html
Mavenをダウンロードしてインストールし、MAVEN_OPTS
をガイドで指定されている値に設定します。
しかし、Sparkで遊んでいるだけで、自分のマシンがWindowsを実行しているなどの理由でWindows上で実行する必要がない場合は、SparkをLinux仮想マシンにインストールすることを強くお勧めします。最も簡単な方法は、おそらくClouderaやHortonworksで作られた既製の画像をダウンロードし、Sparkのバンドル版を使うか、あるいはあなたが自分で作成したものか、またはspark Webサイトから入手できるコンパイル済みバイナリをインストールすることです。
ローカルモードでSparkをインストールする手順:
Java 7以降をインストール 。 Javaのインストールが完了したことをテストするには、コマンドプロンプトでJava
を開き、enterを押します。メッセージ'Java' is not recognized as an internal or external command.
を受け取った場合は、jdkのパスを指すように環境変数Java_HOME
およびPATH
を設定する必要があります。
SCALA_HOME
に「Control Panel\System and Security\System
」を設定して、「環境設定」のPATH変数に%SCALA_HOME%\bin
を追加します。
Python 2.6以降を Pythonダウンロードリンク からインストールしてください。
SBT_HOME
を環境変数として設定し、値を<<SBT PATH>>
にします。winutils.exe
をダウンロードしてください。 WindowsにローカルのHadoopをインストールしていないので、winutils.exe
をダウンロードし、作成したbin
ホームディレクトリの下のHadoop
ディレクトリに配置する必要があります。環境変数にHADOOP_HOME = <<Hadoop home directory>>
を設定します。ビルド済みのSparkパッケージを使用しますので、 Hadoop Sparkダウンロード にはSparkのビルド済みパッケージを選択してください。ダウンロードして解凍します。
環境変数のPATH変数にSPARK_HOME
を設定し、%SPARK_HOME%\bin
を追加します。
コマンドを実行します。spark-Shell
SparkContext Web UIを表示するには、ブラウザでhttp://localhost:4040/
を開きます。
あなたはここから火花をダウンロードすることができます:
http://spark.Apache.org/downloads.html
このバージョンをお勧めします。Hadoop 2(HDP2、CDH5)
バージョン1.0.0以降、windowsでsparkを実行するための。cmdスクリプトがあります。
7Zipなどを使用して解凍します。
起動するには/ bin/spark-Shell.cmd --master local [2]を実行します。
インスタンスを設定するには、このリンクをたどることができます。 http://spark.Apache.org/docs/latest/
以下の方法でSparkを設定することができます。
SourceからSparkを構築する にはいろいろな方法がありますが。
最初にSBTを使ってSparkソースを構築しようとしましたが、それにはhadoopが必要です。これらの問題を回避するために、私はビルド済みのリリースを使用しました。
Sourceの代わりに、私はhadoop 2.xバージョンのPrebuiltリリースをダウンロードして実行しました。これには、前提条件としてScalaをインストールする必要があります。
ここにすべてのステップをまとめました。
Windows 7上でApache Sparkをスタンドアロンモードで実行する方法
それがあなたを助けてくれることを願います.. !!!
Spark-2.x.xを使用してSparkソースコードをビルドしようとしても、うまくいきませんでした。
だから、私はHadoopを使うつもりはありませんが、hadoopが埋め込まれたビルド済みのSparkをダウンロードしました:spark-2.0.0-bin-hadoop2.7.tar.gz
抽出したディレクトリにSPARK_HOMEを指定し、PATH
に追加します。;%SPARK_HOME%\bin;
実行可能ファイル winutils をHortonworksリポジトリから、またはAmazon AWSプラットフォームからダウンロードします winutils 。
実行可能ファイルwinutils.exeを配置するディレクトリを作成します。たとえば、C:\ SparkDev\x64です。このディレクトリを指す環境変数%HADOOP_HOME%
を追加してから、PATHに%HADOOP_HOME%\bin
を追加します。
コマンドラインを使用して、ディレクトリを作成します。
mkdir C:\tmp\Hive
ダウンロードした実行ファイルを使用して、作成したファイルディレクトリに完全なアクセス権を追加します。ただし、unixian形式を使用します。
%HADOOP_HOME%\bin\winutils.exe chmod 777 /tmp/Hive
次のコマンドラインを入力してください。
%SPARK_HOME%\bin\spark-Shell
Scalaのコマンドライン入力は自動的に表示されるはずです。
備考:Scalaを別に設定する必要はありません。それも内蔵されています。
最近のバージョンのMS-VSがインストールされていない場合など、すべてを再構築せずにWindowsで実行できるようにするための修正があります。 (Win32 C++コンパイラが必要ですが、MS VS Community Editionは無料でインストールできます。)
私はSpark 1.2.2とmahout 0.10.2、そして2015年11月の最新バージョンでこれを試しました。Scalaコードがbashスクリプト(mahout/bin /)を実行しようとしているという事実を含む多くの問題があります。もちろん、sbinスクリプトはwindowsに移植されておらず、hadoopがインストールされていなければwinutilsはありません。
(1) scalaをインストールしてから、spark/hadoop/mahoutをそれぞれの製品名でC:のルートに解凍します。
(2)\mahout\bin\mahoutをmahout.sh.wasに変更します(必要ありません)。
(3)次のWin32 C++プログラムをコンパイルし、その実行可能ファイルをC:\ mahout\bin\mahoutというファイルにコピーします(Linux実行可能ファイルのように.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\bin\mahout.batを作成し、以下の内容を貼り付けます。ただし、_CPクラスパス内のjarの正確な名前は、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++コードで参照されているので変更しないでください。
Mahoutは必要に応じてSparkを実行するので、もちろん、Sparkのマスターとワーカーを起動するコードをコメントアウトすることができます。あなたがMahoutなしでSparkを使いたかったならばどうやってそれを起動するかをあなたに示すために私はそれをバッチジョブに入れました。
(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
Ani Menon(thx!)によるガイドはほとんどWindows 10で私のために働きました、私はちょうどそのgitから新しいwinutils.exeを得なければなりませんでした(現在hadoop-2.8.1): https://github.com/steveloughran/winutils
これはwindows 10にsparkをインストールしてpythonから実行するための7つのステップです:
ステップ1:このリンクからスパーク2.2.0 tar(テープアーカイブ)gzファイルを任意のフォルダFにダウンロードします - https://spark.Apache.org/downloads.html 解凍し、解凍したフォルダを目的のフォルダAにコピーします。spark-2.2.0-bin-hadoop2.7フォルダの名前をsparkに変更します。
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.tarからhadoopに変更します。 hadoopフォルダへのパスをC:\ Users\Desktop\A\hadoopにします。
手順3:新しいメモ帳テキストファイルを作成します。この空のメモ帳ファイルをwinutils.exeという名前で保存します([ファイルの種類]:[すべてのファイル])。このO KBのwinutils.exeファイルをsparkのbinフォルダにコピーします - 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 WindowsでJavaを検索します。右クリックしてファイルの場所を開くをクリックします。 Javaファイルのいずれかをもう一度右クリックし、開いているファイルの場所をクリックする必要があります。このフォルダのパスを使用します。 OR C:\ Program Files\Javaを検索できます。システムにインストールされている私のJavaバージョンはjre1.8.0_131です。変数値:C:¥Program Files¥Java¥jre1.8.0_131¥bin
Pathシステム変数を見つけて、編集をクリックします。この変数値を追加してください - ; C:\ Program Files\Java\jre1.8.0_131\bin
ステップ5:[コマンドプロンプト]を開き、spark binフォルダに移動します(cd C:\ Users\Desktop\A\spark\binと入力します)。 spark-shellと入力します。
C:\Users\Desktop\A\spark\bin>spark-Shell
時間がかかり、いくつかの警告が表示される場合があります。最後に、それはスパークバージョン2.2.0へようこそを示すでしょう
ステップ6:exit()を入力するか、またはプロンプトコマンドを再起動して、再びspark binフォルダに移動します。 pysparkと入力します。
C:\Users\Desktop\A\spark\bin>pyspark
いくつかの警告とエラーが表示されますが無視してください。できます。
ステップ7:ダウンロードが完了しました。 python Shellから直接sparkを実行したい場合は、pythonフォルダのScriptsに移動して次のように入力します。
pip install findspark
コマンドプロンプトで。
Pythonシェルで
import findspark
findspark.init()
必要なモジュールをインポートする
from pyspark import SparkContext
from pyspark import SparkConf
Findsparkをインポートして初期化するためのステップをスキップしたい場合は、 pythonシェルでpysparkをインポートする に記載されている手順に従ってください。
ClouderaとHortonworksは、Microsoft WindowsでHDFSを起動するのに最適なツールです。 VMWareまたはVBoxを使用して仮想マシンを起動し、HDFSおよびSpark、Hive、HBase、Pig、Hadoop with Scala、R、Java、Pythonのビルドを確立することもできます。
これは、任意のPythonコンソールから実行するための最小の簡単なスクリプトです。ダウンロードしたSparkライブラリをC:\ Apache\spark-1.6.1に解凍したと仮定します。
これは何も構築せずにWindowsで動作し、Sparkが再帰的な酸洗いについて不平を言うという問題を解決します。
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()