S-JIS[2011-07-20/2017-01-14] 変更履歴

Sparkインストール

Apache Sparkのインストールのメモ。


WindowsXPへのインストール(Spark0.3)

SparkはUNIXで動かすものだが、単独環境で(分散させずに1台のマシン上で)実行させるだけなら、Windowsでも実行できる。

ここでは、2011-07-14の最新版であるSpark0.3(Scala2.9用)をWindowsXPにインストールしてみる。

前提条件として、JDK1.6がインストールされていて、javaコマンドにパスが通っていること。
Scala2.9がインストールされていて、環境変数SCALA_HOMEがそのディレクトリーを指していること。

  1. Sparkのダウンロードページトップページの右側の「Download Spark」リンクで移動できる)から、アーカイブをダウンロードする。(Spark 0.3 for Scala 2.9)
    もしくはGitHubのSparkのページから直接ダウンロードする。(0.3-scala-2.9)
    前者だとtar.gz、後者だとzipファイルになる。
  2. ダウンロードしたアーカイブを解凍する。
    mesos-spark-7c77b2fといったディレクトリーが出来たので、自分はmesos-sparkという名前に変えた。
    例: C:\scala\mesos-spark
  3. sbtを実行したいのだが、UNIX用のシェルしかないので、DOS用のバッチを作る。
    C:\scala\mesos-spark\sbt\sbt.bat
    @echo off
    set EXTRA_ARGS=
    set SPARK_HOME=%~dp0..
    for %%i in (%SPARK_HOME%\sbt\sbt-launch-*.jar) do (
    java -Xmx800M -XX:MaxPermSize=150m %EXTRA_ARGS% -jar %%i %*
    )
  4. コマンドプロンプトからsbt.batを実行する。
    ※sbtはカレントディレクトリーのprojectディレクトリーを参照するようなので、実行する場所はmesos-spark直下でないと駄目。
    > cd /d C:\scala\mesos-spark
    > sbt\sbt.bat update compile
  5. 実行するとScala2.7.7のダウンロードとかを始めるが、sbtがScala2.7で動いている為っぽい。
    他にも色々ダウンロードとコンパイルを行うので、かなり時間がかかる。(自分とこでは20分くらいかかった(苦笑))
  6. 正常にコンパイルが終わったら動作確認をしたいのだが、これまたUNIX用のシェルしかないので、DOS用のバッチを作る。
    C:\scala\mesos-spark\run.bat
  7. 試しに円周率計算プログラムを実行してみる。
    > cd /d C:\scala\mesos-spark
    > run.bat spark.examples.SparkPi local
    引数の「local」は、分散させずにローカル環境で実行させるという意味。「local[1]」と等価。この数字は、スレッドプールの個数。

Eclipseの設定

EclipseでSparkのプログラミングを行いたいときは、ビルドパスに以下のライブラリーを追加する。

ディレクトリー・jarファイル ソースの添付
C:\scala\mesos-spark\ core\ target\scala_2.9.0-1\classes C:/Scala/mesos-spark/core/src
lib\*.jar  
lib_managed\scala_2.9.0-1\compile\*.jar  

ローカル環境なら、Eclipse上から直接実行可能。→サンプル


Gradleを使えば、SparkをインストールしなくてもEclipse用の開発環境を構築可能。→開発環境の構築方法 [2017-01-14]


Windows7へのインストール(Spark1.0.2)

2014-08-16時点の最新版であるSpark1.0.2をWindows7にインストールしてみる。[2014-08-16]

Spark1.0.2はScala2.10が必要なので、事前にインストールしておく。
Javaは1.8で大丈夫そう。

  1. Sparkのダウンロードページからアーカイブファイルをダウンロードする。
    アーカイブファイルにはいくつか種類があるが、prebuilt(ビルド済み)のものをダウンロードするのが楽。
    アーカイブファイル 説明
    spark-1.0.2.tgz アーカイブファイルは小さいが、Spark0.3の頃と同様に、解凍後に自分でビルドする必要がある。
    Windows用のsbtバッチファイルは自分で作る必要があるし、sbtのlauncher.jarも同梱されていないのでどこかから持ってくる必要がある。
    spark-1.0.2-bin-hadoop1.tgz ビルド済みのアーカイブ。Hadoop1のライブラリーが同梱されている。
    Windows環境ならHadoop2よりこちらの方が良さそう。(Hadoop2版を2台のWindows7に入れてみたが、片方はサンプルがちゃんと動いたのに、他方は例外が発生した。何か環境の問題があるのだろう)
    ただしソースファイルは同梱されていないので、ソースを見たい場合はspark-1.0.2.tgzもダウンロードする。
    spark-1.0.2-bin-hadoop2.tgz ビルド済みのアーカイブ。Hadoop2のライブラリーが同梱されている。

  2. ダウンロードしたアーカイブ(今回はspark-1.0.2-bin-hadoop1.tgz)を解凍する。
    gz圧縮されているtarファイルなので、自分はCygwinを使った。
    $ cd "D:scala"
    $ tar xf 〜/spark-1.0.2-bin-hadoop1.tgz
    $ ls
    spark-1.0.2-bin-hadoop1

自分でビルドしなくていいので、すぐ終わる(笑)


試しにサンプルを実行してみる。

コマンドプロンプトで以下のコマンドを実行する。
(run-exampleというUNIX用のシェルもあるのだが、Cygwinには対応していない。のでコマンドプロンプトでWindows用のバッチファイルを使う必要がある)

> cd /d D:\scala\spark-1.0.2-bin-hadoop1
> bin\run-example.cmd SparkPi 10
〜
Pi is roughly 3.141784
〜

SparkPiは円周率を計算するサンプル。ログがいっぱい出るが、途中に計算結果が出ている。

→自分で色々試そうと思ったら、Sparkシェルが便利。


Spark目次へ戻る / Scalaへ戻る / 技術メモへ戻る
メールの送信先:ひしだま