Linux下远程连接Jupyter+pyspark部署教程


Posted in Python onJune 21, 2019

博主最近试在服务器上进行spark编程,因此,在开始编程作业之前,要先搭建一个便利的编程环境,这样才能做到舒心地开发。本文主要有以下内容:

1、python多版本管理利器-pythonbrew
2、Jupyter notebooks 安装与使用以及远程连接方法
3、Jupyter连接pyspark,实现web端sprak开发

一、python多版本管理利器-pythonbrew

在利用python进行编程开发的时候,很多时候我们需要多个Python版本进行测试,博主之前一直在Python2.x和3.x之间徘徊挣扎,两者纠缠不清的关系真是令博主心累了一万年。直至遇到了pythonbrew,它在博主心中泛起的涟漪,久久不能逝去。说到pythonbrew,它是一个python的多版本管理器,可以在多个 Python之间迅速切换,也可以在指定的 Python 版本下测试python程序,更重要的是它还整合了 Virtualenv。所以,当你的电脑里装了多个python版本,并需要经常切换测试时,pythonbrew就非常适合你。

1.安装配置pythonbrew

sudo easy_install pythonbrew(easy_install安装)
pip install pythonbrew(pip安装)

2.添加配置环境到~/.bashrc(或~/.bash_profile)

[[ -s "$HOME/.pythonbrew/etc/bashrc" ]] && source"$HOME/.pythonbrew/etc/bashrc"

然后执行:source ~/.bashrc(或~/.bash_profile)

3.查看系统可以安装的python版本

[ray@hadoop01 ~]$ pythonbrew list -k
# Pythons
Python-1.5.2
Python-1.6.1
Python-2.0.1
Python-2.1.3
Python-2.2.3
Python-2.3.7
Python-2.4.6
Python-2.5.6
Python-2.6.9
Python-2.7.10
Python-3.0.1
Python-3.1.5
Python-3.2.5
Python-3.3.5
Python-3.4.3

4.安装python

(ps:需要使用curl安装python,所以需要先安装curl)

[ray@hadoop01 ~]$ pythonbrew install 3.2.3(版本号)

5.清理安装后的版本的源码和安装包

[ray@hadoop01 ~]$ pythonbrew cleanup

6.选择一个python版本使用,ps:只在当前终端有效

[ray@hadoop01 ~]$ pythonbrew use 2.7.10(版本号)

7.查看当前pythonbrew下的python版本有哪些(后面有*号表示正在使用)

[ray@hadoop01 ~]$pythonbrew list
Python-2.6.7 (*)
Python-3.2.3

8.选择python3.4.3版本作为系统默认版本使用,会把该版本的路径添加到PATH中

[ray@hadoop01 ~]$ pythonbrew switch 3.4.3

9.取消pythonbrew选择的版本

[ray@hadoop01 ~]$ pythonbrew off

二、Jupyter notebooks 安装与使用以及远程连接方法

作为一只数据分析狮,利用python进行数据分析编程要的就是优雅和细致。如果还能随时随地利用任何终端进行数据分析,那不仅是高逼格,更是乐翻天了。而Jupyter notebook便是能帮助我们在web端做开发编程的利器。本节将介绍如果安装使用jupyter,以及如何远程连接到服务器端的Jupyter notebook。

1.安装Jupyter

[ray@hadoop01 ~]$ pip install jupyter

2.Jupyter Notebook远程服务器配置

1)首先要生成密码,打开python终端。

In [1]: from IPython.lib import passwd

In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:0e422dfccef2:84cfbcb
b3ef95872fb8e23be3999c123f862d856'

2)接下来生成秘钥:

[ray@hadoop01 ~]$ openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mycert.pem -out mycert.pem

注意:这里会要求你需要一些个人信息,如:国家、省份、名字等。执行完命令后,会生成一个mycert.pem文件。记下这个文件的路径。

3)创建一个服务器配置

[ray@hadoop01 ~]$ ipython profile create nbserver

编辑文件jupyter_notebook_config.py,在~/.jupyter/文件夹里

c.NotebookApp.password = u'sha1:。。。。。。。。。。。' c.NotebookApp.certfile = u'/root/.jupyter/mycert.pem' c.NotebookApp.ip = '*' 
c.NotebookApp.port = 9999

4)最后启动服务器:

[ray@hadoop01 ~]$ipython notebook --profile=nbserver

三、Jupyter连接pyspark,实现web端sprak开发

在进行这步操作之前,必须先安装好Jupyter、spark。

1.设置环境变量

将一下代码添加到~/.bash_profile(或者~/.bashrc)

export SPARK_HOME=~/spark-1.5.0-bin-hadoop2.6
export PATH=$SPARK_HOME/bin:$PATH

export PYTHONPATH=$SPARK_HOME/python/:$PYTHONPATH
export PYTHONPATH=$SPARK_HOME/python/lib/py4j-0.8.2.1-src.zip:$PYTHONPATH

注意:

1).SPARK_HOME的地址是你sprak的安装目录,另外在最后一行代码中,py4j-0.8.2.1-src.zip可能会因版本不同而不同,请进入对应地址确认好该文件的名字。

2).如果要使用python3进行作业,则需要在.bash_profile中添加 export PYSPARK_PYTHON=python3

2.启动pyspark-jupyter

IPYTHON_OPTS="notebook"$SPARK_HOME/bin/pyspark

至此,所以配置全部完成。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现自动添加脚本头信息的示例代码
Sep 02 Python
itchat和matplotlib的结合使用爬取微信信息的实例
Aug 25 Python
python做量化投资系列之比特币初始配置
Jan 23 Python
IntelliJ IDEA安装运行python插件方法
Dec 10 Python
python sort、sort_index方法代码实例
Mar 28 Python
对python 中class与变量的使用方法详解
Jun 26 Python
django 环境变量配置过程详解
Aug 06 Python
基于Python生成个性二维码过程详解
Mar 05 Python
浅析Python 抽象工厂模式的优缺点
Jul 13 Python
python不同版本的_new_不同点总结
Dec 09 Python
python实现录制全屏和选择区域录屏功能
Feb 05 Python
matplotlib部件之套索Lasso的使用
Feb 24 Python
python之当你发现QTimer不能用时的解决方法
Jun 21 #Python
Pandas库之DataFrame使用的学习笔记
Jun 21 #Python
pyqt5之将textBrowser的内容写入txt文档的方法
Jun 21 #Python
pandas 数据索引与选取的实现方法
Jun 21 #Python
python实现二级登陆菜单及安装过程
Jun 21 #Python
浅谈pyqt5在QMainWindow中布局的问题
Jun 21 #Python
jupyter notebook 中输出pyecharts图实例
Apr 23 #Python
You might like
多文件上传的例子
2006/10/09 PHP
PHP函数http_build_query使用详解
2014/08/20 PHP
php中字符集转换iconv函数使用总结
2014/10/11 PHP
php实现可用于mysql,mssql,pg数据库操作类
2014/12/13 PHP
php+ajax实现无刷新分页
2015/11/18 PHP
visual studio code 调试php方法(图文详解)
2017/09/15 PHP
关于javascript document.createDocumentFragment()
2009/04/04 Javascript
用jquery实现等比例缩放图片效果插件
2010/07/24 Javascript
jQuery实战之仿淘宝商城左侧导航效果
2011/04/12 Javascript
jQuery中事件对象e的事件冒泡用法示例介绍
2014/04/25 Javascript
Bootstrap每天必学之导航组件
2016/04/25 Javascript
Vue.js系列之vue-router(上)(3)
2017/01/03 Javascript
Vue.js学习教程之列表渲染详解
2017/05/17 Javascript
解决iView中时间控件选择的时间总是少一天的问题
2018/03/15 Javascript
Node.js npm命令运行node.js脚本的方法
2018/10/10 Javascript
微信小程序上传图片并等比列压缩到指定大小的实例代码
2019/10/24 Javascript
webgl实现物体描边效果的方法介绍
2019/11/27 Javascript
Python中字典创建、遍历、添加等实用操作技巧合集
2015/06/02 Python
Python判断文件或文件夹是否存在的三种方法
2017/07/27 Python
简单了解什么是神经网络
2017/12/23 Python
PyTorch读取Cifar数据集并显示图片的实例讲解
2018/07/27 Python
浅谈python标准库--functools.partial
2019/03/13 Python
Django 实现图片上传和显示过程详解
2019/07/18 Python
如何使用django的MTV开发模式返回一个网页
2019/07/22 Python
pytorch中的weight-initilzation用法
2020/06/24 Python
Book Depository亚太地区:一家领先的国际图书零售商
2019/05/05 全球购物
工业设计专业推荐信
2013/10/29 职场文书
生产经理的自我评价分享
2013/11/07 职场文书
中专毕业生自荐信范文
2013/11/28 职场文书
研究生毕业鉴定
2014/01/29 职场文书
监察建议书范文
2014/03/12 职场文书
节水标语大全
2014/06/11 职场文书
2014年幼儿园班级工作总结
2014/12/17 职场文书
骆驼祥子读书笔记
2015/06/26 职场文书
单位病假条范文
2015/08/17 职场文书
浅谈MySQL之select优化方案
2021/08/07 MySQL