jupyter与spark kernel结合的notebook安装及使用

来源:互联网 发布:华为数据 编辑:程序博客网 时间:2024/06/06 17:31

安装环境

mac/ OS X 10.9.5, 64位/ sbt/ git

1、Install Jupyter and Python

使用Anaconda安装jupyter, Anaconda自带Python2.7和Python3.5
Anaconda下载地址
Anaconda官网提供各操作系统版本下载,包括Windows,Linux,OS X,32位及64位,选择适合自己版本的下载
#bash Anaconda3-2.5.0-MacOSX-x86_64.sh

不论是Linux还是OS X都请使用bash命令,使用. Anaconda3-2.5.0-Linux-x86_64.sh或者./Anaconda3-2.5.0-Linux-x86_64.sh 都不能安装成功,楼主亲测

Welcome to Anaconda3 2.5.0 (by Continuum Analytics Inc.)

In order to continue the installation process, please review the license

agreement.

Please, press ENTER to continue

>>>

一路回车

Do you approve the license terms?[yes|no]

>>>

当然是yes

Anaconda3 will now be installed into this location:

/User/zhangsan/anaconda3

- Press ENTER to confirm the location

- Press CTRL-C to abort the installation

- Or specify a different location below

[/User/zhangsan/anaconda3]>>>

Anaconda默认的安装路径是/User/zhangsan/anconda3/, 当然也可以自己指定安装目录,在这里输入即可。
安装完成之后打开新的终端
#jupyter notebook
会启动并且自动在浏览器中打开http://localhost:8888/tree#

[I 17:37:52.287 NotebookApp] Serving notebooks from local directory: /Users/zhangsan/anaconda3

[I 17:37:52.287 NotebookApp] 0 active kernels 

[I 17:37:52.287 NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/

[I 17:37:52.287 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

当然这里可以选择性的手动制定端口和webUI地址,之后手动打开UI,使用如下命令
#jupyter notebook --no-browser --port 5678 --ip=9.21.63.204
指定暂时不打开浏览器,端口为5678,IP为安装Anaconda的本机IP地址,之后手动在浏览器中输入9.21.63.204:5678打开
到这里我们已经成功安装了IPython的notebook,启动notebook
写入一段代码测试一下,这里是一个Python画图程序,点击run cell可以看到运行结果是一个sin,cos函数图像

2、Install a kernel other than Python(以Scala为例)

#jupyter kernelspec list
可查看已经安装了的kernel

Available kernels:

  python3     /Users/daheng/anaconda3/lib/python3.5/site-packages/ipykernel/resources

可以看到目前只有python3
jupyter提供了Python之外的许多编程语言的支持,list of available kernels 如R,Go, Scala等等,不过都需要用户手动安装
选择自己需要的Scala版本下载,提供了Scala 2.10 和 Scala 2.11,这里我们以2.10为例
 jupyter-scala下载地址
解压至任何目录均可
#cd jupyter-scala_2.10.5-0.2.0-SNAPSHOT/bin
#bash jupyter-scala
同样请使用bash

Generated ~/.ipython/kernels/scala210/kernel.json

Run ipython console with this kernel with

ipython console --kernel scala210

Use this kernel from IPython notebook, running

ipython notebook

and selecting the "Scala 2.10" kernel.

安装完后再次查看,会发下kernels里面多了scala210
#jupyter kernelspec list

Available kernels:

  scala210    /Users/daheng/.ipython/kernels/scala210

  python3     /Users/daheng/anaconda3/lib/python3.5/site-packages/ipykernel/resources

再次启动notebook
#jupyter notebook
可以看到已经可以new一个Scala的notebook了
到这里我们已经有了Python和Scala的notebook

3、Install Spark-kernel

这里是重点也是难点,官方提供的文档过于复杂,找不到合适的安装方法,楼主也是摸索了很久才成功的将jupyter和spark结合到了一起
首先下载spark,楼主使用了spark-1.5.1-bin-hadoop2.6
spark下载地址
#tar -xvf spark-1.5.1-bin-hadoop2.6.tgz
解压至你想要的目录,如/User/zhangsan/Documents
指定SPARK_HOME
#export $SPARK_HOEM=/User/zhangsan/Documents/spark-1.5.1-bin-hadoop2.6
#cd /User/zhangsan/anaconda3/
#git clone https://github.com/apache/incubator-toree.git
这里需要你的机子可以使用git,如果不能请自行安装git,这里就不详解了
#cd incubator-toree
下面要编译spark kernel,打开Makefile可以看到,默认是编译1.5.1,当然可以自己指定,只要与本地SPARK_HOME统一版本就ok
#export APACHE_SPARK_VERSION=1.6.1
这样就可以编译指定版本的spark kernel了
编译需要sbt,请保证sbt已经正确安装
编译使用以下命令
#make build
这里会自动下载解决相关依赖的问题,所以时间会很久,最好在网速较好的地方做。

[success] Total time: 274 s, completed 2016-3-29 11:05:52

最后出现success,就说明编译成功了
#make dist
#cd dist/toree/bin
#ls
会看到这有一个run.sh文件,记住这个路径和文件名,后面配置会用到
#cd /User/zhangsan/.ipython/kernels/spark
#vim kernel.json

{

"display_name": "Spark 1.5.1 (Scala 2.10.4)",

"lauguage_info": {"name": "scala"},

"argv": [

    "/Users/zhangsan/anaconda3/incubator-toree/dist/toree/bin/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": "/Users/zhangsan/Documents/spark-1.5.1-bin-hadoop2.6",

    "PYTHONPATH": "/Users/zhangsan/Documents/spark-1.5.1-bin-hadoop2.6/python:/Users/zhangsan/Documents/spark-1.5.1-bin-hadoop2.6/python/lib/py4j-0.8.2.1-src.zip"

}

#jupyter kernelspec list

Available kernels:

  scala210    /Users/daheng/.ipython/kernels/scala210

  spark       /Users/daheng/.ipython/kernels/spark

  python3     /Users/daheng/anaconda3/lib/python3.5/site-packages/ipykernel/resources

到这里我们就成功安装了spark kernel
#jupyter notebook
再次打开notebook,就可以new一个spark的notebook了
写一段代码测试一下吧
这是一个sparkPi程序,点击run cell会看到运行结果
到这里我们就成功的安装了spark-kernel
第一次写技术博客,欢迎各位评论指正与提问微笑

0 0