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核心,可以根據具體的開發任務選擇不同的核心
參考博文