GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu20.04にApacheSparkをインストールする方法

Apache Sparkは、オープンソースのフレームワークであり、汎用のクラスターコンピューティングシステムです。 Sparkは、一般的な実行グラフをサポートするJava、Scala、Python、およびRの高レベルAPIを提供します。ストリーミング、SQL、機械学習、グラフ処理に使用される組み込みモジュールが付属しています。大量のデータを分析してクラスター全体に分散し、データを並行して処理することができます。

このチュートリアルでは、Ubuntu20.04にApacheSparkクラスターコンピューティングスタックをインストールする方法を説明します。

前提条件
  • Ubuntu20.04サーバーを実行しているサーバー。
  • ルートパスワードがサーバーに設定されます。
はじめに

まず、システムパッケージを最新バージョンに更新する必要があります。次のコマンドですべてを更新できます:

apt-get update -y

すべてのパッケージが更新されたら、次のステップに進むことができます。

Javaのインストール

ApacheSparkはJavaベースのアプリケーションです。したがって、Javaをシステムにインストールする必要があります。次のコマンドでインストールできます:

apt-get install default-jdk -y

Javaがインストールされたら、次のコマンドを使用して、インストールされているJavaのバージョンを確認します。

java --version

次の出力が表示されます。

openjdk 11.0.8 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)
Scalaをインストールする

Apache Sparkは、Scalaを使用して開発されています。そのため、システムにScalaをインストールする必要があります。次のコマンドでインストールできます:

apt-get install scala -y

Scalaをインストールした後。次のコマンドを使用して、Scalaのバージョンを確認できます。

scala -version

次の出力が表示されます。

Scala code runner version 2.11.12 -- Copyright 2002-2017, LAMP/EPFL

次に、次のコマンドを使用してScalaインターフェースに接続します。

scala

次の出力が得られるはずです:

Welcome to Scala 2.11.12 (OpenJDK 64-Bit Server VM, Java 11.0.8).
Type in expressions for evaluation. Or try :help.

次に、次のコマンドでScalaをテストします。

scala> println("Hitesh Jethva")

次の出力が得られるはずです:

Hitesh Jethva

ApacheSparkをインストールします

まず、ApacheSparkの最新バージョンを公式Webサイトからダウンロードする必要があります。このチュートリアルを書いている時点では、ApacheSparkの最新バージョンは2.4.6です。次のコマンドを使用して、/optディレクトリにダウンロードできます。

cd /opt
wget https://archive.apache.org/dist/spark/spark-2.4.6/spark-2.4.6-bin-hadoop2.7.tgz

ダウンロードしたら、次のコマンドを使用してダウンロードしたファイルを抽出します。

tar -xvzf spark-2.4.6-bin-hadoop2.7.tgz

次に、以下に示すように、抽出したディレクトリの名前をsparkに変更します。

mv spark-2.4.6-bin-hadoop2.7 spark

次に、Sparkコマンドを簡単に実行できるようにSpark環境を構成する必要があります。 .bashrcファイルを編集して構成できます:

nano ~/.bashrc

ファイルの最後に次の行を追加します。

export SPARK_HOME=/opt/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

ファイルを保存して閉じてから、次のコマンドで環境をアクティブ化します。

source ~/.bashrc

Sparkマスターサーバーを起動します

この時点で、ApacheSparkがインストールされて構成されます。次に、次のコマンドを使用してSparkマスターサーバーを起動します。

start-master.sh

次の出力が表示されます。

starting org.apache.spark.deploy.master.Master, logging to /opt/spark/logs/spark-root-org.apache.spark.deploy.master.Master-1-ubuntu2004.out
にログを記録します。

デフォルトでは、Sparkはポート8080でリッスンしています。次のコマンドを使用して確認できます:

ss -tpln | grep 8080

次の出力が表示されます。

LISTEN   0        1                               *:8080                *:*      users:(("java",pid=4930,fd=249))   

次に、Webブラウザーを開き、URL http:// your-server-ip:8080を使用してSparkWebインターフェースにアクセスします。次の画面が表示されます。

Sparkワーカープロセスを開始

ご覧のとおり、Sparkマスターサービスはspark:// your-server-ip:7077で実行されています。したがって、このアドレスを使用して、次のコマンドを使用してSparkワーカープロセスを開始できます。

start-slave.sh spark://your-server-ip:7077

次の出力が表示されます。

starting org.apache.spark.deploy.worker.Worker, logging to /opt/spark/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-ubuntu2004.out

次に、Sparkダッシュボードに移動して画面を更新します。次の画面にSparkワーカープロセスが表示されます。

SparkShellの操作

コマンドラインを使用してSparkサーバーに接続することもできます。以下に示すように、spark-shellコマンドを使用して接続できます。

spark-shell

接続すると、次の出力が表示されます。

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.spark.unsafe.Platform (file:/opt/spark/jars/spark-unsafe_2.11-2.4.6.jar) to method java.nio.Bits.unaligned()
WARNING: Please consider reporting this to the maintainers of org.apache.spark.unsafe.Platform
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
20/08/29 14:35:07 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
Spark context Web UI available at http://ubuntu2004:4040
Spark context available as 'sc' (master = local[*], app id = local-1598711719335).
Spark session available as 'spark'.
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.4.6
      /_/
         
Using Scala version 2.11.12 (OpenJDK 64-Bit Server VM, Java 11.0.8)
Type in expressions to have them evaluated.
Type :help for more information.

scala> 

SparkでPythonを使用したい場合。 pysparkコマンドラインユーティリティを使用できます。

まず、次のコマンドを使用してPythonバージョン2をインストールします。

apt-get install python -y

インストールしたら、次のコマンドでSparkを接続できます。

pyspark

接続すると、次の出力が得られます。

Python 2.7.18rc1 (default, Apr  7 2020, 12:05:55) 
[GCC 9.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.spark.unsafe.Platform (file:/opt/spark/jars/spark-unsafe_2.11-2.4.6.jar) to method java.nio.Bits.unaligned()
WARNING: Please consider reporting this to the maintainers of org.apache.spark.unsafe.Platform
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
20/08/29 14:36:40 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /__ / .__/\_,_/_/ /_/\_\   version 2.4.6
      /_/

Using Python version 2.7.18rc1 (default, Apr  7 2020 12:05:55)
SparkSession available as 'spark'.
>>> 

マスターサーバーとスレーブサーバーを停止する場合。次のコマンドで実行できます:

stop-slave.sh
stop-master.sh
結論

おめでとう!これで、Ubuntu20.04サーバーにApacheSparkが正常にインストールされました。これで、Sparkクラスターの構成を開始する前に基本的なテストを実行できるようになります。ご不明な点がございましたら、お気軽にお問い合わせください。


Ubuntu
  1. Ubuntu20.04にApacheMavenをインストールする方法

  2. Ubuntu20.04LTSにApacheMavenをインストールする方法

  3. Ubuntu18.04にRをインストールする方法

  1. Ubuntu20.04にApacheZooKeeperをインストールする方法

  2. Ubuntu20.04にApacheCassandraをインストールする方法

  3. UbuntuにApacheをインストールするにはどうすればいいですか?

  1. Ubuntu18.04にApacheをインストールする方法

  2. UbuntuにSparkをインストールする方法

  3. Ubuntu20.04にApacheをインストールする方法