はじめに
CentOS 7 に Spark 2.4.4 と Maven 3.6.3 を導入する手順を確認します。
CentOS 7 構築
手元の仮想環境だったり、パブリッククラウドだったり、好きな場所で CentOS 7 を作りましょう。自分は、Oracle Cloud Infrastructure(以下 OCI)で作りました。
Firewalld 停止
OCI 側に仮想ファイアウォールがあるため、CentOS 上の Firewalld を停止
sudo systemctl stop firewalld
sudo systemctl disable firewalld
Open JDK 8 の Install
Spark の動作に必要な Java 8 (記事の手順ではOpen JDK 8) を Install
好きな JDK 8 で問題ないです。
sudo yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel
依存関係解決例
===========================================================================================================================
Package Arch Version Repository Size
===========================================================================================================================
Installing:
java-1.8.0-openjdk x86_64 1:1.8.0.242.b08-0.el7_7 updates 293 k
java-1.8.0-openjdk-devel x86_64 1:1.8.0.242.b08-0.el7_7 updates 9.8 M
Installing for dependencies:
atk x86_64 2.28.1-1.el7 base 263 k
avahi-libs x86_64 0.6.31-19.el7 base 61 k
cairo x86_64 1.15.12-4.el7 base 741 k
copy-jdk-configs noarch 3.3-10.el7_5 base 21 k
cups-libs x86_64 1:1.6.3-40.el7 base 358 k
dejavu-fonts-common noarch 2.33-6.el7 base 64 k
dejavu-sans-fonts noarch 2.33-6.el7 base 1.4 M
fontconfig x86_64 2.13.0-4.3.el7 base 254 k
fontpackages-filesystem noarch 1.44-8.el7 base 9.9 k
fribidi x86_64 1.0.2-1.el7_7.1 updates 79 k
gdk-pixbuf2 x86_64 2.36.12-3.el7 base 570 k
giflib x86_64 4.1.6-9.el7 base 40 k
graphite2 x86_64 1.3.10-1.el7_3 base 115 k
gtk-update-icon-cache x86_64 3.22.30-3.el7 base 28 k
gtk2 x86_64 2.24.31-1.el7 base 3.4 M
harfbuzz x86_64 1.7.5-2.el7 base 267 k
hicolor-icon-theme noarch 0.12-7.el7 base 42 k
jasper-libs x86_64 1.900.1-33.el7 base 150 k
java-1.8.0-openjdk-headless x86_64 1:1.8.0.242.b08-0.el7_7 updates 32 M
javapackages-tools noarch 3.4.1-11.el7 base 73 k
jbigkit-libs x86_64 2.0-11.el7 base 46 k
libICE x86_64 1.0.9-9.el7 base 66 k
libSM x86_64 1.2.2-2.el7 base 39 k
libX11 x86_64 1.6.7-2.el7 base 607 k
libX11-common noarch 1.6.7-2.el7 base 164 k
libXau x86_64 1.0.8-2.1.el7 base 29 k
libXcomposite x86_64 0.4.4-4.1.el7 base 22 k
libXcursor x86_64 1.1.15-1.el7 base 30 k
libXdamage x86_64 1.1.4-4.1.el7 base 20 k
libXext x86_64 1.3.3-3.el7 base 39 k
libXfixes x86_64 5.0.3-1.el7 base 18 k
libXft x86_64 2.3.2-2.el7 base 58 k
libXi x86_64 1.7.9-1.el7 base 40 k
libXinerama x86_64 1.1.3-2.1.el7 base 14 k
libXrandr x86_64 1.5.1-2.el7 base 27 k
libXrender x86_64 0.9.10-1.el7 base 26 k
libXtst x86_64 1.2.3-1.el7 base 20 k
libXxf86vm x86_64 1.1.4-1.el7 base 18 k
libfontenc x86_64 1.1.3-3.el7 base 31 k
libglvnd x86_64 1:1.0.1-0.8.git5baa1e5.el7 base 89 k
libglvnd-egl x86_64 1:1.0.1-0.8.git5baa1e5.el7 base 44 k
libglvnd-glx x86_64 1:1.0.1-0.8.git5baa1e5.el7 base 125 k
libjpeg-turbo x86_64 1.2.90-8.el7 base 135 k
libthai x86_64 0.1.14-9.el7 base 187 k
libtiff x86_64 4.0.3-32.el7 base 171 k
libwayland-client x86_64 1.15.0-1.el7 base 33 k
libwayland-server x86_64 1.15.0-1.el7 base 39 k
libxcb x86_64 1.13-1.el7 base 214 k
libxshmfence x86_64 1.2-1.el7 base 7.2 k
libxslt x86_64 1.1.28-5.el7 base 242 k
lksctp-tools x86_64 1.0.17-2.el7 base 88 k
mesa-libEGL x86_64 18.3.4-6.el7_7 updates 109 k
mesa-libGL x86_64 18.3.4-6.el7_7 updates 165 k
mesa-libgbm x86_64 18.3.4-6.el7_7 updates 39 k
mesa-libglapi x86_64 18.3.4-6.el7_7 updates 45 k
pango x86_64 1.42.4-4.el7_7 updates 280 k
pcsc-lite-libs x86_64 1.8.8-8.el7 base 34 k
python-javapackages noarch 3.4.1-11.el7 base 31 k
python-lxml x86_64 3.2.1-4.el7 base 758 k
ttmkfdir x86_64 3.0.9-42.el7 base 48 k
tzdata-java noarch 2019c-1.el7 updates 187 k
xorg-x11-font-utils x86_64 1:7.5-21.el7 base 104 k
xorg-x11-fonts-Type1 noarch 7.5-9.el7 base 521 k
Transaction Summary
=========================================================================================================================
Maven 3.6.3 Install (Option)
Maven は、Spark の動作には必要ありませんが、Spark 用の Java アプリケーションを作るときに使います。
以下のURLでダウンロードURLを確認します。
https://maven.apache.org/download.cgi
ダウンロードページでコピーしたURLを使って、CentOS 上に tar.gz ファイルをダウンロードします
mkdir ~/maveninstall
cd ~/maveninstall
wget https://ftp.jaist.ac.jp/pub/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
次の手順に従ってインストールしていきます。
https://maven.apache.org/install.html
tar.gz ファイルを解凍
tar xfvz apache-maven-3.6.3-bin.tar.gz
環境変数設定
bashrc に追記
echo 'export PATH=$PATH:$HOME/maveninstall/apache-maven-3.6.3/bin' >> .bashrc
bashrc 再読み込み
source ~/.bashrc
mvn コマンドが実行可能確認します
[opc@spark01-63591 ~]$ mvn -v
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /home/opc/maveninstall/apache-maven-3.6.3
Java version: 1.8.0_242, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64/jre
Default locale: en_US, platform encoding: ANSI_X3.4-1968
OS name: "linux", version: "3.10.0-1062.12.1.el7.x86_64", arch: "amd64", family: "unix"
[opc@spark01-63591 ~]$
Spark 2.4.4 Install
下記の URL から、Spark 用の tar.gz ファイルのダウンロード先を確認します。
https://spark.apache.org/downloads.html
2.4.4 を Insall したいので、Archived を選択
ダウンロード URL のコピー
ダウンロードページでコピーしたURLを使って、CentOS 上に tar.gz ファイルをダウンロードします
mkdir ~/sparkinstall
cd ~/sparkinstall
wget https://archive.apache.org/dist/spark/spark-2.4.4/spark-2.4.4-bin-hadoop2.7.tgz
解凍
tar zxvf spark-2.4.4-bin-hadoop2.7.tgz
環境変数設定
bashrc に追記
echo 'export SPARK_HOME=$HOME/sparkinstall/spark-2.4.4-bin-hadoop2.7' >> .bashrc
echo 'export PATH=$PATH:$SPARK_HOME/bin' >> .bashrc
bashrc 再読み込み
source ~/.bashrc
Spark Shell のバージョン確認
2.4.4 と表示されている
[opc@spark01-63591 ~]$ spark-shell --version
Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/___/ .__/\_,_/_/ /_/\_\ version 2.4.4
/_/
Using Scala version 2.11.12, OpenJDK 64-Bit Server VM, 1.8.0_242
Branch
Compiled by user on 2019-08-27T21:21:38Z
Revision
Url
Type --help for more information.
Spark UI を起動してアクセス
cd $SPARK_HOME
./sbin/start-master.sh
実行例
[opc@spark01-63591 spark-2.4.4-bin-hadoop2.7]$ ./sbin/start-master.sh
starting org.apache.spark.deploy.master.Master, logging to /home/opc/sparkinstall/spark-2.4.4-bin-hadoop2.7/logs/spark-opc-org.apache.spark.deploy.master.Master-1-spark01-63591.out
[opc@spark01-63591 spark-2.4.4-bin-hadoop2.7]$
Web ブラウザで 8080 ポートにアクセス (Network Security Group で 8080 を開けるようにしてください)
http://:8080/
参考URL
Spark 2.4.4 の Document
https://spark.apache.org/docs/2.4.4/
Spark Document
https://spark.apache.org/
How To Install Apache Spark on CentOS 7
https://wpcademy.com/how-to-install-apache-spark-on-centos-7/