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

安裝 jupyter和python

本文使用Anaconda安裝jupyter。
Anaconda可以看做Python的一個集成安裝,安裝它後就默認安裝了python、IPython、集成開發環境Spyder和衆多的包和模塊

也可參照https://docs.anaconda.com/anaconda/install/linux進行安裝

下載 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
https://oss.sonatype.org/content/repositories/snapshots/com/github/alexarchambault/jupyter/jupyter-scala-cli_2.10.5/0.2.0-SNAPSHOT/jupyter-scala_2.10.5-0.2.0-SNAPSHOT.tar.xz

安裝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,可以參考博主的 spark分佈式集羣環境搭建(hadoop之上)
安裝sbt,之後編譯spark需要sbt,具體的安裝方法可參考博文http://blog.csdn.net/he582754810/article/details/54311233

安裝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內核,可以根據具體的開發任務選擇不同的內核


參考博文

http://blog.csdn.net/heng_2218/article/details/51006075
http://blog.csdn.net/gavin_john/article/details/53177630

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章