全部產品
Search
文件中心

Resource Orchestration Service:安裝Spark單機版, 安裝Spark單機版

更新時間:Sep 12, 2026

方案概述

本方案適用於巨量資料開發人員快速獲得可用 Spark 環境,用於資料處理、互動式查詢和機器學習的情境。

什麼是Apache Spark

Apache Spark 是專為大規模資料處理設計的通用計算引擎,以 Scala 作為應用程式架構,依託記憶體分布式資料集,支援互動式查詢與迭代計算負載。

本模板安裝的軟體版本如下:

組件

說明

版本

JDK(Java Development Kit)

Java 運行環境

1.8.0

Hadoop

分布式系統基礎架構,提供 HDFS 分布式儲存

2.7.7

Scala

程式設計語言,Spark 核心架構基於 Scala 開發

2.12.1

Spark

通用巨量資料計算引擎,支援 SQL 查詢、流處理、機器學習

2.1.0

本方案的特點:基於已有VPC部署

與其他 ROS 部署方案不同,本模板要求使用已有的專用網路、交換器和安全性群組,不會建立網路資源。這種設計適用於:

  • 已有標準化網路環境,需要在現有專用網路中補充 Spark 服務。

  • 多重專案共用一個專用網路,需要避免重複建立網路資源。

建立的資源清單

序號

資源名稱

ROS 資源類型

用途說明

1

ECS 雲端服務器執行個體

ALIYUN::ECS::Instance

運行 Spark 單機版的計算節點

2

彈性公網 IP(EIP)

ALIYUN::VPC::EIP

為 ECS 執行個體提供公網訪問入口

3

EIP 綁定關聯

ALIYUN::VPC::EIPAssociation

將彈性公網 IP 綁定到 ECS 執行個體

部署完成後獲得的結果

模板成功執行後,您將獲得:

  • 一台 ECS 雲端服務器執行個體(CentOS 7 系統,已綁定彈性公網 IP)。

  • ECS 上已安裝 JDK 1.8.0、Hadoop 2.7.7、Scala 2.12.1、Spark 2.1.0。

  • 資源棧的輸出中提供 SparkWebSiteURL,可登入 Spark 管理主控台。

說明

如需通過外網訪問 SparkWebSiteURL,請在安全性群組添加入方向 8088 和 8080 連接埠的訪問規則。具體操作請參見使用安全性群組。

架構圖

image

前提條件

在使用本模板前,請確認以下條件:

  1. 帳號許可權:您的阿里雲帳號需要具有 ECS、VPC、EIP 產品的建立許可權。

  2. 已有網路資源:需提前建立好 VPC、交換器和安全性群組。如何建立請參見專用網路與交換器和建立ECS執行個體。

部署環節

部署參數

本模板要求使用已有的專用網路資源,下表中的參數均需在建立資源棧時填寫。建立資源棧時所選地區需與已有專用網路、交換器和安全性群組所在地區一致。

參數

類型

說明

樣本

現有 VPC 的執行個體 ID

String

VPC執行個體ID。關於如何建立和查詢VPC執行個體,請參見建立和管理專用網路。

vpc-bp1m6fww66xbntjyc****

交換器可用性區域

String

專用網路下的交換器可用性區域 ID。

華東 1 可用性區域 K

網路交換器 ID

String

專用網路下的交換器ID。關於如何建立和查詢交換器,請參見建立和管理交換器。

vsw-bp183p93qs667muql****

業務安全性群組 ID

String

ECS安全性群組ID。關於如何查詢安全性群組ID,請參見使用安全性群組。

sg-bp15ed6xe1yxeycg7o****

實例規格

String

Spark 對記憶體需求較高,建議使用 2 核 4 GiB 及以上規格。

ecs.c5.large

鏡像ID

String

ECS 鏡像 ID,預設使用 centos_7。

centos_7

執行個體密碼

String

ECS登入密碼,長度8~30,含大小寫、數字、特殊字元。

Test_12****

公網 IP 頻寬值

Number

公網 IP 的頻寬。取值範圍:1~100。單位:Mbps。

5

磁碟類型

String

系統硬碟類型。取值:

  • cloud_efficiency(高效雲端硬碟)

  • cloud_ssd(SSD 雲端硬碟)

  • cloud_essd(ESSD 雲端硬碟)

更多資訊,請參見雲端硬碟概述。

cloud_efficiency

系統硬碟空間

Number

執行個體系統硬碟大小。取值範圍:40~500。單位:GB。

40

部署方式

方式一:通過 ROS 公用範本部署(推薦)

  1. 登入ROS 控制台。

  2. 在左側導覽列,選擇模板 > 公共模板 > 入門模板。

  3. 在搜尋方塊中輸入 Spark,找到模板 Spark 單機版(已有 VPC),單擊模板卡片中的建立資源棧。

  4. 在配置參數頁面,輸入資源棧名稱,並按上表填寫部署參數。

  5. 單擊下一步:檢查並確認,然後單擊建立。

  6. 在左側導覽列,選擇資源棧,在資源棧列表頁面單擊目標資源棧ID,在資源棧資訊頁簽查看資源棧狀態,等待狀態變為CREATE_COMPLETE。

  7. 單擊輸出頁簽,擷取 SparkWebSiteURL。

  8. 在瀏覽器中訪問該 URL,登入 Spark 管理主控台即部署成功。

方式二:通過 ROS IaC Code 部署

IaC Code 是面向雲基礎設施的 AI 基礎設施即代碼助手,可根據自然語言描述產生 ROS 模板並部署,使用方式參見IaC Code快速入門。

# prompt
幫我在已有 VPC 中建立一台 ECS 並部署 Spark 單機版開發測試環境。
要求:
1. 使用已有的 VPC、VSwitch 和安全性群組(不建立網路資源)。
2. 建立彈性公網 IP 並綁定到 ECS 執行個體。
3. ECS 使用 CentOS 7 鏡像。
4. 通過 UserData 指令碼自動安裝 JDK 1.8.0、Hadoop 2.7.7、Scala 2.12.1、Spark 2.1.0。
5. 配置 JAVA_HOME、HADOOP_HOME、SCALA_HOME、SPARK_HOME 環境變數。
6. 啟動 Spark 服務並輸出 SparkWebSiteURL。
7. 安全性群組需開放入方向 8088 和 8080 連接埠。

部署後動作

驗證Spark環境

  1. 在資源棧的輸出頁簽擷取 SparkWebSiteURL。

  2. 通過瀏覽器訪問該地址,顯示 Spark 管理主控台頁面表示部署成功。

  3. 串連ECS執行個體後,驗證:

java -version          # 查看 JDK 版本
hadoop version         # 查看 Hadoop 版本
scala -version         # 查看 Scala 版本
spark-shell --version  # 查看 Spark 版本

常見問題

部署失敗,報錯“The specified InstanceType is not available”

原因:所選ECS執行個體規格在指定可用性區域中沒有庫存。

解決方案:

  • 更換交換器所在的可用性區域後重新部署。

  • 在Elastic Compute Service定價確認目標可用性區域的可用規格。

  • Spark 對記憶體需求較高,建議至少選擇 2 核 4 GiB 及以上規格。

部署成功但無法訪問 SparkWebSiteURL

按以下順序排查:

  1. 確認安全性群組入方向規則已允許存取 TCP 8088 和 8080 連接埠,規則添加方式參見使用安全性群組。

  2. 訪問 ECS控制台-執行個體,進入執行個體詳情頁,確認彈性公網 IP 已成功綁定到執行個體。

  3. 串連ECS執行個體後,確認 Spark 進程與連接埠監聽狀態:

    # 檢查 Spark 進程
    ps -ef | grep spark
    # 檢查 8080 連接埠監聽
    netstat -tlnp | grep 8080
    # 手動啟動 Spark(如未運行)
    $SPARK_HOME/sbin/start-all.sh
  4. 若 Spark 服務未安裝完成,執行 cat /var/log/messages | grep cloud-init 查看執行個體自訂資料(UserData)指令碼的執行日誌,定位安裝過程中的失敗原因。

如何部署 Spark 叢集版

方案:ROS提供了 Spark 叢集版公用模板,支援部署多節點Spark叢集:

  1. 在ROS控制台 > 公用模板 中搜尋"Spark叢集版",找到Spark叢集版(已有VPC)。

  2. 該模板會建立多台ECS執行個體(1個Master + N個Worker),自動設定叢集通訊

  3. 部署前建議先刪除單機版資源棧,避免資源衝突

想要瞭解更多資源部署問題,可以查詢常見問題合集。

相關文檔