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实现遍历windows所有窗口并输出窗口标题的方法
Mar 13 Python
Python实现方便使用的级联进度信息实例
May 05 Python
黑科技 Python脚本帮你找出微信上删除你好友的人
Jan 07 Python
python 文件操作删除某行的实例
Sep 04 Python
python 3.7.0 安装配置方法图文教程
Aug 27 Python
python中partial()基础用法说明
Dec 30 Python
Python3标准库总结
Feb 19 Python
python3 实现的对象与json相互转换操作示例
Aug 17 Python
python基础 range的用法解析
Aug 23 Python
python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py
Oct 06 Python
Python实战之疫苗研发情况可视化
May 18 Python
Python - 10行代码集2000张美女图
May 23 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
PHP和XSS跨站攻击的防范
2007/04/17 PHP
解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别
2013/06/24 PHP
分享一个php 的异常处理程序
2014/06/22 PHP
php基于双向循环队列实现历史记录的前进后退等功能
2015/08/08 PHP
php实现点击可刷新验证码
2015/11/07 PHP
thinkphp5 URL和路由的功能详解与实例
2017/12/26 PHP
ThinkPHP5.0 图片上传生成缩略图实例代码说明
2018/06/20 PHP
NiftyCube——轻松实现圆角边框
2007/02/20 Javascript
学习YUI.Ext第七日-View&JSONView Part Two-一个画室网站的案例
2007/03/10 Javascript
js同时按下两个方向键
2007/12/01 Javascript
jQuery JSON的解析方式分享
2011/04/05 Javascript
jQuery封装的获取Url中的Get参数示例
2013/11/26 Javascript
解决JQeury显示内容没有边距内容紧挨着浏览器边线
2013/12/20 Javascript
查询json的数据结构的8种方式简介
2014/03/10 Javascript
JS实现探测网站链接的方法【测试可用】
2016/11/08 Javascript
JS 实现可停顿的垂直滚动实例代码
2016/11/23 Javascript
AngularJS实践之使用ng-repeat中$index的注意点
2016/12/22 Javascript
nodejs 实现钉钉ISV接入的加密解密方法
2017/01/16 NodeJs
利用JS实现简单的瀑布流加载图片效果
2017/04/22 Javascript
jQuery Form插件使用详解_动力节点Java学院整理
2017/07/17 jQuery
浅谈 Vue 项目优化的方法
2017/12/16 Javascript
微信小程序调用摄像头隐藏式拍照功能
2018/08/22 Javascript
three.js 如何制作魔方
2020/07/31 Javascript
[01:02:46]VGJ.S vs NB 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[01:03:50]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第二场 2月7日
2021/03/11 DOTA
如何用itertools解决无序排列组合的问题
2017/05/18 Python
Django中Model的使用方法教程
2018/03/07 Python
Python获取系统所有进程PID及进程名称的方法示例
2018/05/24 Python
对numpy数据写入文件的方法讲解
2018/07/09 Python
莫斯科绝对前卫最秘密的商店:SVMoscow
2017/10/23 全球购物
Wedgwood美国官网:英国骨瓷,精美礼品及家居装饰
2018/02/17 全球购物
英国复古皮包品牌:Beara Beara
2018/07/18 全球购物
JPA面试常见问题
2016/11/14 面试题
学生会招新策划书
2014/02/14 职场文书
《七颗钻石》教学反思
2014/02/28 职场文书
人力资源管理求职信
2014/08/07 职场文书