1. 程式人生 > >jupyter安裝及配置scala、spark、pyspark核心

jupyter安裝及配置scala、spark、pyspark核心

安裝 jupyter和python

本文使用Anaconda安裝jupyter。
Anaconda可以看做Python的一個整合安裝,安裝它後就預設安裝了python、IPython、整合開發環境Spyder和眾多的包和模組

下載 Anaconda

Anaconda的官網下載地址https://www.anaconda.com/download/,可以根據自己的需要自行下載,本文使用的作業系統為ubuntu,因此下載的是Anaconda installer for Linux.

wget https://repo.continuum.io/archive/Anaconda3-5.0.1-Linux-x86_64.sh

使用MD5或SHA-256驗證資料完整性。

 md5sum Anaconda3-5.0.1-Linux-x86_64.sh #後跟下載檔案的實際路徑和檔名

或者

sha256sum Anaconda3-5.0.1-Linux-x86_64.sh

安裝Anaconda

bash Anaconda3-5.0.1-Linux-x86_64.sh 

這裡寫圖片描述

接受許可協議

這裡寫圖片描述

選擇安裝路徑,直接回車表示選擇預設路徑

這裡寫圖片描述

在/root/.bashrc中將Anaconda 1安裝位置預先安裝到PATH中

這裡寫圖片描述

使安裝生效

source ~/.bashrc

到此Anaconda安裝結束。

啟動jupyter notebook

Anaconda自帶安裝了jupyter,因此安裝完Anaconda後,在命令列輸入如下命令即可啟動jupyter notebook

jupyter notebook

這裡寫圖片描述
預設制定的WEBUI地址為localhost,埠為8888,因此是不允許遠端訪問的。

也可在啟動時手動指定

jupyter notebook --allow-root --no-browser --port 6789 --ip=*

這裡寫圖片描述

配置jupyter notebook的遠端訪問

jupyter notebook安裝好後預設只能在本地伺服器本地訪問(也就是我的ubuntu虛擬機器上),如果想從真機windows上訪問,需做如下配置

1.登陸遠端伺服器

ssh 遠端伺服器ip地址或主機名

2.生成配置檔案

 jupyter notebook --generate-config

這裡寫圖片描述
該命令執行完後,會輸出配置檔案的預設儲存路徑

3.生成密碼
開啟ipython,建立密文密碼,將生成的密碼複製下來

這裡寫圖片描述

4.修改預設配置檔案

 vim ~/.jupyter/jupyter_notebook_config.py

修改如下選項

c.NotebookApp.ip = '*'
c.NotebookApp.password = u'sha1:3624795a9cec:74b60353a6d80fafde23437e9eab9deda61c7a5e' #將剛才複製的密文複製到此處
c.NotebookApp.open_browser = False #指定不開啟瀏覽器
c.NotebookApp.port = 6789 #指定埠

5.啟動jupyter notebook

jupyter notebook  --allow-root #root使用者需新增--allow-root選項,其他不用

6.本地瀏覽器訪問

http://ip或主機名:6789

這裡寫圖片描述

輸入之前建立的密碼即可進入

安裝scala kernel

jupyter提供了Python之外的許多程式語言的支援, 如R,Go, Scala等等,不過都需要使用者手動安裝,這裡講scala kernel和spark kernel的安裝
檢視已有核心

jupyter kernelspec list

這裡寫圖片描述

可以看到,已經安裝了python2和python3

安裝jupyter-scala

tar -xvf jupyter-scala_2.10.5-0.2.0-SNAPSHOT.tar.xz -C /usr/local/
bash /usr/local/jupyter-scala_2.10.5-0.2.0-SNAPSHOT/bin/jupyter-scala

出現如下介面,表示已經成功安裝
這裡寫圖片描述

此時,再次檢視支援的核心,發現多了一個
這裡寫圖片描述

安裝spark kernel

安裝spark kernel

cd /usr/local/anacond
git clone https://github.com/apache/incubator-toree.git#如果沒有git命令,請先行安裝
cd incubator-toree/

修改Makefile檔案中的APACHE_SPARK_VERSION選項的值,與SPARK_HOME統一版本

APACHE_SPARK_VERSION?=2.2.1

使用”make build”命令編譯spark,出現success表示成功,這個過程時間比較長,需要等幾分鐘

make build
make dist #該命令用於將可執行檔案及相關檔案打包成一個tar.gz壓縮的檔案用來作為釋出軟體的軟體包。
cd dist/toree/bin/
ls

使用ls查到當前目錄下有一個名為run.sh的檔案,記住該檔案的路徑(/usr/local/anacond/incubator-toree/dist/toree/bin/run.sh
),後面會使用到

cd /root/.ipython/kernels/sprak/
vim kernel.json

寫入如下內容

{
"display_name": "Spark 2.2.1 (Scala 2.10.4)",
"lauguage_info": {"name": "scala"},
"argv": [
    "/usr/local/anacond/incubator-toree/dist/toree/bin/run.sh",#替換為前面記住的run.sh的路徑
    "--profile",
    "{connection_file}"
],
"codemirror_mode": "scala",
"env": {
    "SPARK_OPTS": "--master=local[2] --driver-java-options=-Xms1024M --driver-java-options=-Xms4096M --driver-java-options=-Dlog4j.logLevel=info",
    "MAX_INTERPRETER_THREADS": "16",
    "CAPTURE_STANDARD_OUT": "true",
    "CAPTURE_STANDARD_ERR": "true",
    "SEND_EMPTY_OUTPUT": "false",
    "SPARK_HOME": "/usr/local/spark",#替換成自己的SPARK_HOME路徑
    "PYTHONPATH": "/usr/local/spark/python:/usr/local/spark/python/lib/py4j-0.10.4-src.zip"#替換為自己的
}
}

再次檢視核心

jupyter kernelspec list

這裡寫圖片描述

到這裡我們就已經成功安裝上spark的核心了,接下來啟動jupyter notebook

jupyter notebook --allow-root

本地瀏覽器訪問,我們就可以新建一個支援scala和spark的notebook了

這裡寫圖片描述

安裝pyspark kernel

mkdir ~/.ipython/kernels/pyspark
vim ~/.ipython/kernels/pyspark/kernel.json

寫入如下內容:

{
 "display_name": "pySpark",
 "language": "python",
 "argv": [
  "/usr/local/anacond/bin/python3",
  "-m",
  "IPython.kernel",
  "-f",
  "{connection_file}"
 ],
 "env": {
  "SPARK_HOME": "/usr/local/spark",
  "PYTHONPATH": "/usr/local/spark/python:/usr/local/spark/python/lib/py4j-0.10.4-src.zip",
  "PYTHONSTARTUP": "/usr/local/spark/python/pyspark/shell.py ",
  "PYSPARK_SUBMIT_ARGS": "pyspark-shell"
 }
}

注意將其中的路徑替換成自己的,然後檢視核心
這裡寫圖片描述

到此,我們已經為jupyter配置了scala、spark、pyspark核心,可以根據具體的開發任務選擇不同的核心

參考博文