LoginSignup
0
0

More than 3 years have passed since last update.

Zeppelin 0.9.0-preview1 + Spark でCPUとメモリの使用量の設定

Last updated at Posted at 2020-06-01

環境

  • Apache Zeppelin 0.9.0-preview1
  • macOS 10.15
  • Docker(docker-compose)
  • Spark 2.4.4
  • Scala

留意点

  • 試した環境が、preview1 ということなので、変更されるかもしれません。

概要

  • 単体のSparkで、最大のCPU、メモリを使うことができていたので、Zeppelin on Docker 環境でも実現したいと思いました。
  • 直感で Zeppelin - interpreter - Spark の項目を設定してみたのですが、反映されないように感じました。
  • 公式サイトとコードを読みながら、試行錯誤して目的を達成しました(正確性の保証はございません)。

私が試して成功した方法

CPUの使用コア数の設定方法

方法1「Zeppelinの設定画面を利用する」

  • dockerが利用するCPUコア数を設定します。
  • http://localhost:8080/#/interpreter から設定する
  • Interpreters - Spark - propaties に spark.master=local[*] を新規に追加
  • Interpreters - Spark - propaties に spark.cores.max=16 を新規に追加(なくても良さそうです)

ss1.png

方法2「環境変数を設定する」

  • dockerが利用するCPUコア数を設定します。
  • 環境変数 ZEPPELIN_INTP_JAVA_OPTS に'-Dspark.master=local[*]'を設定します。アスタリスクはコア数の指定で、アスタリスクにすると最大値になります。
  • 環境変数は、/zeppelin/conf/zeppelin-env.sh で設定できるようです(他の設定項目が列挙されているので、読むと勉強になります)。
  • 以下の例は、docker-compose.yml です。
environment:
  ZEPPELIN_INTP_JAVA_OPTS: '-Dspark.cores.max=16 -Dspark.master=local[*]' 

メモリの設定

  • dockerが利用するメモリ量を設定します。
  • Zeppelin - Interpreter - Spark でメモリ関連の設定をします。
  • 環境変数 ZEPPELIN_INTP_MEM で JVM が使用するメモリについて設定します。
  • 以下に docker-compose.yml の設定例を示します。
  • 環境変数の設定は、/zeppelin/conf/zeppelin-env.sh でもできるようです。
environment:
  ZEPPELIN_INTP_MEM: '-Xms2g -Xmx16g'

JVM メモリ利用量の設定

オプション 意味
-Xms 起動時に確保するメモリ
-Xmx メモリの最大値

The flag Xmx specifies the maximum memory allocation pool for a Java virtual machine (JVM), while Xms specifies the initial memory allocation pool.

Executorsの確認(CPUとメモリの割り当ての確認)

ss2.png

Spark Contextの設定値の確認

方法1「設定値の確認方法」

方法2「API呼び出し」

// 全ての設定
spark.sparkContext.getConf.getAll.foreach(println)

// spark.masterの設定
println(spark.sparkContext.getConf.get("spark.master"))
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0