Spark環境安裝教學(二)
延伸工具安裝與串接(Jupyter)

目錄
前言
資訊
本篇文章接續前篇 Spark環境安裝教學,繼續往下延伸。這次要串接的是 Jupyter,有了它,寫 Spark 邏輯的過程會輕鬆不少,尤其是互動式除錯跟資料觀察,比純終端機方便非常多。
開始之前
提示
請先確保手上已經有一套可以正常運作的虛擬機與 Spark 環境(單節點或叢集皆可),這篇會直接沿用前篇裝好的環境繼續往下走。
版號
| 軟體 | 版本 |
|---|---|
| Virtual Machine | 7.1.4(或以上) |
| Redhat ISO | 9.8 |
| Java openjdk | 17.0 |
| Spark | 4.2.0 |
| Python3 | 3.11 |
套件版本檢查與 PIP 環境安裝
-
升級系統預設 Python 版本(系統內建版本無法支援 4.2.0 版 Spark 的運算需求,因此必須升級):
1 2sudo dnf install -y python3.11 python3.11-devel sudo alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 1
-
檢查套件版本:
1python3 --version # Python 3.11.13 -
安裝套件管理器 pip:
1sudo dnf install python3-pip # 輸入 y 同意安裝
建立虛擬環境(venv)
-
建立虛擬環境:
1python3 -m venv .venv # 會在當前目錄生成隱藏資料夾 .venv -
啟用虛擬環境:
1source .venv/bin/activate啟用成功後,會看到終端機最新一行前方多了
(.venv)的標記。
到這裡,虛擬環境已經準備就緒,接下來就可以開始安裝 PySpark 與 Jupyter-Lab 了。
安裝 PySpark 與 Jupyter-Lab
-
安裝核心套件:
1 2pip install pyspark pip install jupyter-lab # 這個版本比 jupyter 更輕量 -
產生 Jupyter-Lab 設定檔,供外部連線使用(注意縮排):
1jupyter server --generate-config # 預設會建立檔案於 ~/.jupyter/jupyter_server_config.py -
打開設定檔
~/.jupyter/jupyter_server_config.py,調整接聽來源為外部:1 2c.ServerApp.ip = '0.0.0.0' # 接聽外部連線 c.ServerApp.allow_remote_access = True # 允許外部連線警告這組設定等於把 Jupyter 對外網開放,如果只在內網或個人測試機使用還好,但如果機器有對外 IP,務必搭配 Jupyter 內建的 token 驗證機制(不要手動關掉),並考慮用防火牆限制來源 IP,避免任何人都能連進來執行程式碼——這在實務環境裡是很常見的資安破口。 -
設定環境變數:
1 2 3vim ~/.bashrc # 編輯完 :wq 離開 export PYSPARK_DRIVER_PYTHON=jupyter-lab source ~/.bashrc # 重新讀取 -
開放防火牆:
1 2sudo firewall-cmd --add-port=8888/tcp --permanent # 永久參數需視情況使用 sudo firewall-cmd --reload
啟動服務
-
輸入指令啟動:
1pyspark # 複製回傳的網址與 token
-
把回傳網址中的
localhost(或127.0.0.1)換成主機的實際 IP,再貼到瀏覽器打開即可。
串接功能測試
在 Jupyter-Lab 輸入測試程式碼,觀察回傳結果
執行以下程式碼,若得到類似下圖的回傳,就代表安裝成功、環境可以正常運作:
|
|

結語
恭喜,Spark 環境已經成功擴展成更貼近實務操作的樣貌了。之後開發時,可以直接用 Jupyter 編寫與除錯邏輯,比起純終端機作業,互動性跟效率都會提升不少,尤其是在資料探索與逐步驗證的階段,感受會特別明顯。