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实现挑选出来100以内的质数
Mar 24 Python
python文件的md5加密方法
Apr 06 Python
Python简单实现子网掩码转换的方法
Apr 13 Python
Python实现读取并保存文件的类
May 11 Python
python统计字母、空格、数字等字符个数的实例
Jun 29 Python
深入解析Python小白学习【操作列表】
Mar 23 Python
Python学习笔记之自定义函数用法详解
Jun 08 Python
简单了解python装饰器原理及使用方法
Dec 18 Python
Python面向对象程序设计之静态方法、类方法、属性方法原理与用法分析
Mar 23 Python
Python基于当前时间批量创建文件
May 07 Python
Matlab求解数组中的最大值及它所在的具体位置
Apr 16 Python
Python中OpenCV实现简单车牌字符切割
Jun 11 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
法兰绒滤网冲泡
2021/03/03 冲泡冲煮
PHP5权威编程阅读学习笔记 附电子书下载
2012/07/05 PHP
PHP中使用cURL实现Get和Post请求的方法
2013/03/13 PHP
php使用ftp实现文件上传与下载功能
2017/07/21 PHP
[JS源码]超长文章自动分页(客户端版)
2007/01/09 Javascript
jquery 日期分离成年月日的代码
2010/05/14 Javascript
JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js
2012/08/14 Javascript
JavaScript中的逻辑判断符&&、||与!介绍
2014/12/31 Javascript
js实现图片从左往右渐变切换效果的方法
2015/02/06 Javascript
jQuery实现移动 和 渐变特效的点击事件
2015/02/26 Javascript
JavaScript中消除闭包的一般方法介绍
2015/03/16 Javascript
微信小程序页面生命周期详解
2018/01/31 Javascript
解决mpvue + vuex 开发微信小程序vuex辅助函数mapState、mapGetters不可用问题
2018/08/03 Javascript
vue实现Input输入框模糊查询方法
2021/01/29 Javascript
解决vue admin element noCache设置无效的问题
2019/11/12 Javascript
React生命周期原理与用法踩坑笔记
2020/04/28 Javascript
Vue前端判断数据对象是否为空的实例
2020/09/02 Javascript
python实现倒计时的示例
2014/02/14 Python
Python中获取网页状态码的两个方法
2014/11/03 Python
给Python的Django框架下搭建的BLOG添加RSS功能的教程
2015/04/08 Python
Python入门_浅谈字符串的分片与索引、字符串的方法
2017/05/16 Python
如何利用Pyecharts可视化微信好友
2019/07/04 Python
python 叠加等边三角形的绘制的实现
2019/08/14 Python
python的help函数如何使用
2020/06/11 Python
详解anaconda离线安装pytorchGPU版
2020/09/08 Python
python模拟点击在ios中实现的实例讲解
2020/11/26 Python
css3实现3d旋转动画特效
2015/03/10 HTML / CSS
生产现场工艺工程师岗位职责
2013/11/28 职场文书
火锅店营销方案
2014/02/26 职场文书
服务标兵事迹材料
2014/05/04 职场文书
四风对照检查材料范文
2014/09/27 职场文书
重阳节活动主持词
2015/07/04 职场文书
《好妈妈胜过好老师》:每个孩子的优秀都是有源头的
2020/01/03 职场文书
php中配置文件保存修改操作 如config.php文件的读取修改等操作
2021/05/12 PHP
MySQL5.7并行复制原理及实现
2021/06/03 MySQL
鸿蒙3.0体验感怎么样? 鸿蒙3.0系统评测向
2022/08/14 数码科技