LoginSignup
1
1

More than 5 years have passed since last update.

CentOS7に最短でApacheSparkの環境構築

Last updated at Posted at 2019-02-24

動機

ApacheSparkを自宅で勉強できるように環境構築してみた。

構築環境

  • OS Windows10
  • 仮想化ソフト: Oracle VM VirtualBox&vagrant
  • 仮想OS:CentOS7.6
  • ApacheSpark-2.4.0

1). 仮想化ソフトのインストール

公式サイトからWindows版の最新版をインストール

・Oracle VM VirtualBox
https://www.virtualbox.org/
・vagrant
https://www.vagrantup.com/

2). 仮想環境作成

好きな場所にディレクトリ作成し「vagrant init centos/7」を実行
※今回はC:\workspace\centos7

C:\workspace\centos7>vagrant init centos/7
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

ディレクトリに作成されたVagrantfileを編集します

 #46行目あたりに共有フォルダの設定を追記
 config.vm.synced_folder "./workspace", "/home/vagrant/workspace"

 #51行目あたりにメモリの割り当て量を追記
  config.vm.provider "virtualbox" do |vb|
     vb.customize ["modifyvm", :id, "--memory", "2048"]
   end

共有フォルダを作成しておき「vagrant up」を実行
※初回は時間がかかります

処理が完了し「vagrant ssh」で接続できれば成功

C:\workspace\centos7>vagrant ssh
Last login: Sun Feb 24 10:34:45 2019 from 10.0.2.2
[vagrant@localhost ~]$ ls
workspace

CentOSの日本語化

[vagrant@localhost ~]$sudo yum -y install ibus-kkc vlgothic-*
[vagrant@localhost ~]$ sudo localectl set-locale LANG=ja_JP.UTF-8
[vagrant@localhost ~]$ source /etc/locale.conf
#日本語化されているか確認
[vagrant@localhost ~]$ echo $LANG
ja_JP.UTF-8

タイムゾーンを日本に設定

[vagrant@localhost ~]$ sudo timedatectl set-timezone Asia/Tokyo
#local timeが日本か確認
[vagrant@localhost ~]$ sudo timedatectl
      Local time: 日 2019-02-24 19:47:20 JST
  Universal time: 日 2019-02-24 10:47:20 UTC
        RTC time: 日 2019-02-24 10:47:18
       Time zone: Asia/Tokyo (JST, +0900)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

Java8のインストール

#ダウンロード先リンクは適宜変更
[vagrant@localhost ~]$curl -LO -H "Cookie: oraclelicense=accept-securebackup-cookie" \
>"https://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.rpm"
[vagrant@localhost ~]$sudo rpm -Uvh jdk-8u201-linux-x64.rpm
#環境変数の設定
[vagrant@localhost tmp]$ sudo vi /etc/profile

# 最終行あたりに追記
export JAVA_HOME=/usr/java/default
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

#再読み込み
[vagrant@localhost tmp]$ source /etc/profile

#確認
[vagrant@localhost tmp]$ echo ${JAVA_HOME}
/usr/java/default

ApacheSpark-2.4.0のインストール

#めっちゃ時間がかかる
[vagrant@localhost tmp]$ curl -O https://www-us.apache.org/dist/spark/spark-2.4.0/spark
-2.4.0-bin-hadoop2.7.tgz
#フォルダ名が長いのでシンボリックリンク作成
[vagrant@localhost opt]$ sudo ln -s spark-2.4.0-bin-hadoop2.7 spark
#環境変数用のシェルを作成
[vagrant@localhost profile.d]$ sudo vi /etc/profile.d/spark.sh
#追記
export SPARK_HOME=/opt/spark
#再読み込み
[vagrant@localhost profile.d]$ source /etc/profile
#確認
[vagrant@localhost profile.d]$ echo ${SPARK_HOME}
/opt/spark

#サンプルプログラム実行
${SPARK_HOME}/bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
${SPARK_HOME}/examples/jars/spark-examples_2.11-2.4.0.jar \
10

#円周率っぽい値が出力されていたら成功
Pi is roughly 3.142647571323786

感想

自分用の設定多すぎて全然最短じゃなかった…
次はHDFSとの連携やscalaの自作jarで実行できたらまとめたい。

・参考
日本語化
https://www.server-world.info/query?os=CentOS_7&p=japanese

Apache Spark入門 動かして学ぶ最新並列分散処理フレームワーク
https://www.amazon.co.jp/dp/B01AXQNTJE/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1

1
1
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
1
1