Help us understand the problem. What is going on with this article?

Spark 2.4.4 Install on CentOS7

はじめに

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

1587385604751.png

ダウンロードページでコピーした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 を選択

1587318673080.png

ダウンロード URL のコピー

1587319171172.png

ダウンロードページでコピーした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/

1587320586455.png

参考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/

sugimount
CloudNativeな色々をやっています / 投稿している内容は個人的な見解なので、所属組織とは関係ありません https://twitter.com/sugimount
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした