您現在的位置是:首頁 > 武術

Apache Spark - 在Linux、Ubuntu上安裝

  • 由 程式設計大K 發表于 武術
  • 2023-01-08
簡介使用wget命令將Apache Spark下載到你的Ubuntu伺服器

戰術小隊打過半折嗎

Apache Spark - 在Linux、Ubuntu上安裝

本文旨在幫助Spark初學者,學習如何在基於Linux的Ubuntu伺服器上安裝Apache Spark,同樣的步驟也可用於安裝Centos、Debian等。在現實環境中,所有的Spark應用程式都執行在基於Linux的作業系統上,因此,瞭解如何在一些基於Unix的作業系統上安裝和執行Spark應用程式,如Ubuntu伺服器,是一件好事。

雖然這篇文章解釋的是Ubuntu,但你可以按照這些步驟在任何基於Linux的作業系統上安裝Spark,如Centos,Debian等,我按照下面的步驟在Ubuntu伺服器上設定我的Apache Spark叢集。

預備知識:

執行Ubuntu伺服器

對Ubuntu伺服器的root許可權

如果你只是想獨立執行Spark,請繼續閱讀這篇文章。

在Ubuntu上安裝Java

Apache Spark是用Scala編寫的,Scala是一種Java語言,因此要執行Spark,你需要安裝Java。由於甲骨文的Java在這裡得到了許可,我使用openJDK Java。如果你想使用其他供應商或Oracle的Java,請這麼做。這裡我將使用JDK 8。

sudo apt-get -y install openjdk-8-jdk-headless

在JDK安裝後,透過執行java -version檢查其是否安裝成功

Apache Spark - 在Linux、Ubuntu上安裝

在Ubuntu上安裝Python(可選)

如果你想在Ubuntu伺服器上用Scala和Java執行Spark,你可以跳過這一部分。

如果你想在Ubuntu伺服器上執行PySpark的例子(用Python的Spark),就需要安裝Python。

sudo apt install python3

當然這邊推薦你安裝Anaconda3,

wget -P /tmp https://repo。anaconda。com/archive/Anaconda3-2020。02-Linux-x86_64。sh

bash /tmp/Anaconda3-2020。02-Linux-x86_64。sh

Apache Spark在Ubuntu上的安裝

為了在基於Linux的Ubuntu上安裝Apache Spark,請訪問

Apache Spark下載

網站,進入下載Apache Spark部分,如下圖所示,點選第3點的提供的下載連結,這將帶你到有映象URL的頁面進行下載,從其中一個映象站點複製連結。

Apache Spark - 在Linux、Ubuntu上安裝

如果你想使用不同版本的Spark & Hadoop,從下拉選單中選擇你想要的版本(第1點和第2點);第3點的連結會變為所選的版本,併為你提供一個更新的下載連結。

使用wget命令將Apache Spark下載到你的Ubuntu伺服器。

wget https://downloads。apache。org/spark/spark-3。0。1/spark-3。0。1-bin-hadoop2。7。tgz

Apache Spark - 在Linux、Ubuntu上安裝

一旦你的下載完成,用tar命令解壓縮檔案檔案內容,tar是一個檔案歸檔工具。一旦解壓完成,將資料夾重新命名為spark。

tar -xzf spark-3。0。1-bin-hadoop2。7。tgz

mv spark-3。0。1-bin-hadoop2。7 spark

TODO - Add Python environment

Spark環境變數

在。bashrc或。profile檔案中新增Apache Spark環境變數。用vi編輯器開啟檔案,新增以下變數。

sparkuser@sparknode:~$ vi ~/。bashrc

# Add below lines at the end of the 。bashrc file。

export SPARK_HOME=/home/sparkuser/spark

export PATH=$PATH:$SPARK_HOME/bin

現在,透過執行以下命令將環境變數載入到已開啟的會話中

sparkuser@sparknode:~$ source ~/。bashrc

如果你添加了。profile檔案,那麼透過關閉和重新開啟會話來重新啟動你的會話。

測試Ubuntu上的Spark安裝

就這樣,Apache Spark在Linux Ubuntu上的安裝完成了。現在讓我們來執行一個Spark二進位制發行版附帶的例子。

這裡我將使用Spark-Submit命令透過執行org。apache。spark。examples。SparkPi例子來計算10個地方的PI值。你可以在

$SPARK_HOME/bin

目錄下找到spark-submit:

spark-submit ——class org。apache。spark。examples。SparkPi spark/examples/jars/spark-examples_2。12-3。0。1。jar 10

Spark Shell

Apache Spark的二進位制檔案帶有一個互動式的spark-shell。為了啟動一個shell來使用Scala語言,請到你的$SPARK_HOME/bin目錄下,輸入 “spark-shell”。這個命令會載入Spark並顯示你所使用的Spark的版本。

Apache Spark - 在Linux、Ubuntu上安裝

注意:在spark-shell中,你只能用Scala執行Spark。為了執行PySpark,你需要透過執行

$SPARK_HOME/bin/pyspark

開啟pyspark shell。在執行pyspark shell之前,請確保你已經安裝了Python。

預設情況下,spark-shell提供了spark(SparkSession)和sc(SparkContext)物件供使用。讓我們來看看一些例子。

Apache Spark - 在Linux、Ubuntu上安裝

Spark-shell還建立了一個Spark上下文的Web UI,預設情況下,它可以從

http://ip-address:4040

Spark的Web UI

Apache Spark提供了一套Web UI(Jobs, Stages, Tasks, Storage, Environment, Executors, and SQL)來監控你的Spark應用程式的狀態,Spark叢集的資源消耗,以及Spark的配置。在Spark Web UI上,你可以看到Spark動作和轉換操作是如何執行的。你可以透過開啟

http://ip-address:4040/

。用你的伺服器IP替換ip-address。

Apache Spark - 在Linux、Ubuntu上安裝

Spark歷史伺服器

Spark歷史伺服器,保留了你透過spark-submit和spark-shell提交的所有完成的Spark應用程式的日誌。

建立

$SPARK_HOME/conf/spark-defaults。conf

檔案並新增以下配置:

# Enable to store the event log

spark。eventLog。enabled true

#Location where to store event log

spark。eventLog。dir file:///tmp/spark-events

#Location from where history server to read event log

spark。history。fs。logDirectory file:///tmp/spark-events

建立Spark事件日誌目錄。Spark為你提交的所有應用程式保留日誌:

sparkuser@sparknode:~$ mkdir /tmp/spark-events

執行

$SPARK_HOME/sbin/start-history-server。sh

來啟動歷史伺服器。

sparkuser@sparknode:~$ $SPARK_HOME/sbin/start-history-server。sh

starting org。apache。spark。deploy。history。HistoryServer, logging to /home/sparkuser/spark/logs/spark-sparkuser-org。apache。spark。deploy。history。HistoryServer-1-sparknode。out

按照配置,歷史伺服器預設執行在18080埠:

Apache Spark - 在Linux、Ubuntu上安裝

使用spark-submit命令再次執行PI例項,並重新整理History伺服器,它應該顯示最近的執行情況。

總結

綜上所述,已經學會了在基於Linux的Ubuntu伺服器上安裝Apache Spark的步驟,也學會了如何啟動History伺服器,訪問Web UI。

Top