hand, robot, human

第一次部屬 Hadoop 就上手 – Part 6 – Spark On R 架設

請先完成 Hadoop 及 Spark 架設

  1. 準備事項
    1. Linux 作業系統
    2. Spark
    3. hadoop
    4. jupyter

此範例相關應用程式版本:

2. openJDK: 1.8.0
3. hadoop: 3.2.1 
4. spark: 2.4.5
5. Python: 3.6.9
6. R: 3.6.2
7. Jupyter: 1.0.0
  1. 加入R的倉庫清單(管理者身份)
sudo nano /etc/apt/sources.list.d/rpackages.list

  1. 取得金鑰(管理者身份)
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9

  • 請確認出現金鑰正常 imported,如未果請至官網使用gpg取得金鑰
  • 金鑰會不定期修改,請至新增倉庫清單鏡像站確認最新版金鑰
  • R-base官網請參閱
  1. 簽屬金鑰(管理者身份)
gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9

  • 請確認金鑰正常簽署,如未果請至官網使用其他方式
  • 金鑰會不定期修改,請至新增倉庫清單鏡像站確認最新版金鑰
  1. 更新倉庫清單(管理者身份)
apt update

  • 請確認有出現R的倉庫清單,如未果會無法正常下載
  1. 下載及安裝相關套件(管理者身份)
apt install r-base-dev
apt install r-base
  1. 檢查下載R相關套件(管理者身份)
dpkg -l | grep 'r-base'

  1. 啟動R(管理者身份)
R

  1. 下載 irkernel 等套件 (管理者身份)
install.packages(c('repr', 'IRdisplay', 'IRkernel'), type = 'source')
IRkernel::installspec(user = FALSE) #全部使用者都能使用

  1. 退出R後,切換hadoop帳號並啟動Jupyter互動式介面 (Hadoop身份)
jupyter notebook   # jupyter lab

  1. 至瀏覽器輸入IP及Ports埠號選擇 R 筆記本,並測試一下

  1. 使用SparkR
if (nchar(Sys.getenv("SPARK_HOME")) < 1) {
  Sys.setenv(SPARK_HOME = "/usr/local/spark/")
}
library(SparkR, lib.loc = c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib")))
sparkR.session(master = "yarn", sparkConfig = list(spark.driver.memory = "2g"))

  1. 至ResourceManager UI 查看 SparkR session


附錄: SparkR Standalone

  1. 啟動Spark (Hadoop身份)
bash /usr/local/spark/sbin/start-all.sh

  1. 啟動Jupyter互動式介面 (Hadoop身份)
jupyter notebook   # jupyter lab

  1. 設定Spark Standalone

  1. 至Spark Master UI 查看 SparkR session

恭喜你完成 Spark on R 架設~~~


如果覺得內容還不錯,請我喝杯咖啡吧~

Similar Posts