Debian 11にApache Sparkをインストールする方法
Debian 11にApache Sparkをインストールする方法
このチュートリアルはこれらのOSバージョンのために存在します
- Debian 11 (Bullseye)
- Debian 10 (バスター)
このページで
- 前提条件
- Javaをインストールする
- Apache Sparkをインストールする
- Apache Sparkを起動する
- Apache SparkのWeb UIにアクセスする
- コマンドライン経由でApache Sparkに接続する
- マスターとスレーブを止めてください
- 結論
Apache Sparkは、より迅速な計算結果を提供するために作成された、無料でオープンソースの汎用分散計算フレームワークです。ストリーミング、グラフ処理のための複数のAPI(Java、Python、Scala、Rなど)をサポートしています。一般に、Apache SparkはHadoopクラスタで使用できますが、スタンドアロンモードでもインストールできます。
このチュートリアルでは、Debian 11 に Apache Spark フレームワークをインストールする方法を示します。
前提条件
- Debian 11を実行しているサーバー。
- サーバーにはルートパスワードが設定されています。
Javaをインストールする
Apache SparkはJavaで書かれています。そのため、システムにJavaがインストールされている必要があります。インストールされていない場合は、次のコマンドを使用してインストールできます:
apt-get install default-jdk curl -yJavaがインストールされたら、以下のコマンドを使用してJavaのバージョンを確認します:
java --version次の出力を得るべきです:
openjdk 11.0.12 2021-07-20
OpenJDK Runtime Environment (build 11.0.12+7-post-Debian-2)
OpenJDK 64-Bit Server VM (build 11.0.12+7-post-Debian-2, mixed mode, sharing)
Apache Sparkをインストールする
このチュートリアルを書いている時点で、Apache Sparkの最新バージョンは3.1.2です。次のコマンドを使用してダウンロードできます:
wget https://dlcdn.apache.org/spark/spark-3.1.2/spark-3.1.2-bin-hadoop3.2.tgz
ダウンロードが完了したら、以下のコマンドでダウンロードしたファイルを展開します:
tar -xvzf spark-3.1.2-bin-hadoop3.2.tgz次に、以下のコマンドを使って抽出したディレクトリを /opt に移動します:
mv spark-3.1.2-bin-hadoop3.2/ /opt/spark次に、~/.bashrcファイルを編集し、Sparkのパス変数を追加します。
nano ~/.bashrc次の行を追加してください:
export SPARK_HOME=/opt/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
ファイルを保存して閉じたら、次のコマンドを使用してSpark環境変数をアクティブにします:
source ~/.bashrcApache Sparkを開始する
次のコマンドを実行して、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-debian11.out
デフォルトでは、Apache Sparkはポート8080でリッスンしています。次のコマンドを使用して確認できます:
ss -tunelp | grep 8080次の出力が得られます:
tcp LISTEN 0 1 *:8080 *:* users:(("java",pid=24356,fd=296)) ino:47523 sk:b cgroup:/user.slice/user-0.slice/session-1.scope v6only:0 <->
次に、以下のコマンドを使用してApache Sparkワーカープロセスを開始します:
start-slave.sh spark://your-server-ip:7077Apache SparkのWeb UIにアクセスする
今、URL http://your-server-ip:8080 を使用してApache Sparkのウェブインターフェースにアクセスできるようになりました。次の画面にApache Sparkのマスターおよびスレーブサービスが表示されるはずです:
ワーカー IDをクリックしてください。次の画面でワーカーの詳細情報が表示されるはずです:
コマンドライン経由でApache Sparkに接続する
Sparkのコマンドシェルを介して接続したい場合は、以下のコマンドを実行してください:
spark-shell接続されると、以下のインターフェイスが表示されます:
Spark session available as 'spark'.
Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/___/ .__/\_,_/_/ /_/\_\ version 3.1.2
/_/
Using Scala version 2.12.10 (OpenJDK 64-Bit Server VM, Java 11.0.12)
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接続されると、次の出力が得られるはずです:
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/__ / .__/\_,_/_/ /_/\_\ version 3.1.2
/_/
Using Python version 3.9.2 (default, Feb 28 2021 17:03:44)
Spark context Web UI available at http://debian11:4040
Spark context available as 'sc' (master = local[*], app id = local-1633769632964).
SparkSession available as 'spark'.
>>>
マスターとスレーブを止めてください
まず、次のコマンドを使用してスレーブプロセスを停止してください:
stop-slave.sh次の出力が得られます:
stopping org.apache.spark.deploy.worker.Worker
次に、以下のコマンドを使用してマスタープロセスを停止します:
stop-master.sh次の出力が得られます:
stopping org.apache.spark.deploy.master.Master
結論
おめでとうございます! Debian 11にApache Sparkを正常にインストールしました。これで、組織内で大規模なデータセットを処理するためにApache Sparkを使用できます。

