Sparkのインストール方法

スポンサーリンク

Spark のインストールについてまとめました。

Sparkのインストール

初めに JDK 6 以上をインストールする必要があります。Spark 自体は Scala で書かれており、JVM 上で動作します。ただし、Scala はインストールしていなくてもいいです。

 CentOSにJava(JDK)をRPMでインストール+バージョン変更について
 MacでHomebrewを使用して複数バージョンのJava (JDK) をインストールして切り替える方法

Spark のインストールは  Downloads | Apache Spark からビルド済のバイナリをダウンロードしてくるだけです。最初は勘違いし易いですが Spark は Hadoop を必要としません。単一のマシン上であればローカルモード(非分散モード)で動作させることが可能です。

HDFS や YARN と組み合わせて使用する場合、Spark はこれらのクライアントとして動作するため、ベースになっている Hadoop のバージョンに合わせたバイナリが必要です。例えば CDH 5.4 を使用している場合、以下の画像にあるように Hadoop 2.6 以上向けにビルドされたバイナリを選択します。

f:id:tasukujp:20151223214030p:plain

ダウンロードした tarball を展開してください。

# cd /tmp/
# wget http://ftp.riken.jp/net/apache/spark/spark-1.5.2/spark-1.5.2-bin-hadoop2.6.tgz
# tar zxvf spark-1.5.2-bin-hadoop2.6.tgz -C /usr/local/lib/
# ln -s /usr/local/lib/spark-1.5.2-bin-hadoop2.6 /usr/local/lib/spark

続いて環境変数を設定します。

# echo 'export SPARK_HOME=/usr/local/lib/spark' >> /etc/profile.d/spark.sh
# echo 'export PATH=$SPARK_HOME/bin:$PATH' >> /etc/profile.d/spark.sh
# source /etc/profile

完了したら Spark のコマンドを実行できることを確認します。

$ spark-shell --version
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 1.5.2
      /_/

Type --help for more information.

MacでSparkのインストール

Mac では Homebrew からインストールすることが可能です。

$ brew install apache-spark

ただしapache-sparkではなくsparkでインストールすると別のライブラリがインストールされるので気を付けましょう。

$ brew info spark
spark: stable 1.0.1
Sparklines for the shell
http://zachholman.com/spark/
Not installed
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/spark.rb

Loggerの設定

spark-submitpysparkなどのコマンド実行すると多くのログが出力されると思いますが、デフォルトでは INFO レベル以上が表示されるようになっているためです。

これは${SPARK_HOME}/conf/log4j.properties.templateをコピーしてログレベルを変更することで調整が可能です。

$ cp ${SPARK_HOME}/conf/log4j.properties.template ${SPARK_HOME}/conf/log4j.properties
$ vi ${SPARK_HOME}/conf/log4j.properties
log4j.rootCategory=INFO, console  # WARN に変更

Scalaのバージョン

spark-shellを起動すると Scala のバージョンが 2.10 系になっているのがわかります。2.11 系がいい場合は自分でビルドする必要がありますが、今はまだ 2.10 系を使うのが無難なようです。

$ spark-shell
15/12/24 00:43:03 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 1.5.2
      /_/

Using Scala version 2.10.4 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_45)
...

 Building Spark - Spark 1.5.2 Documentation