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实现下载指定网址所有图片的方法
Aug 08 Python
python中星号变量的几种特殊用法
Sep 07 Python
Atom的python插件和常用插件说明
Jul 08 Python
对Python中实现两个数的值交换的集中方法详解
Jan 11 Python
python定时检测无响应进程并重启的实例代码
Apr 22 Python
python-pyinstaller、打包后获取路径的实例
Jun 10 Python
python 命名规范知识点汇总
Feb 14 Python
Python3安装模块报错Microsoft Visual C++ 14.0 is required的解决方法
Jul 28 Python
python中通过pip安装库文件时出现“EnvironmentError: [WinError 5] 拒绝访问”的问题及解决方案
Aug 11 Python
浅析python中的del用法
Sep 02 Python
Ubuntu权限不足无法创建文件夹解决方案
Nov 14 Python
Python 爬取淘宝商品信息栏目的实现
Feb 06 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的FTP学习(二)[转自奥索]
2006/10/09 PHP
isset和empty的区别
2007/01/15 PHP
一个显示某段时间内每个月的方法 返回由这些月份组成的数组
2012/05/16 PHP
一个简单的网页密码登陆php代码
2012/07/17 PHP
php中url函数介绍及使用示例
2014/02/13 PHP
curl和libcurl的区别简介
2015/07/01 PHP
基于Codeigniter框架实现的student信息系统站点动态发布功能详解
2017/03/23 PHP
PHP标准库(PHP SPL)详解
2019/03/16 PHP
PHP设计模式之组合模式定义与应用示例
2020/02/01 PHP
斜45度寻路实现函数
2009/08/20 Javascript
jquery异步循环获取功能实现代码
2010/09/19 Javascript
二叉树的非递归后序遍历算法实例详解
2014/02/07 Javascript
JQuery中ajax方法访问web服务实例
2015/07/18 Javascript
如何提高javascript加载速度
2016/12/26 Javascript
详解vue2.0组件通信各种情况总结与实例分析
2017/03/22 Javascript
详解JavaScript中return的用法
2017/05/08 Javascript
vue router仿天猫底部导航栏功能
2017/10/18 Javascript
微信小程序事件 bindtap bindinput代码实例
2019/08/26 Javascript
微信小程序全选多选效果实现代码解析
2020/01/21 Javascript
js实现视图和数据双向绑定的方法分析
2020/02/05 Javascript
解决Vue大括号字符换行踩的坑
2020/11/09 Javascript
Python实现从百度API获取天气的方法
2015/03/11 Python
基于并发服务器几种实现方法(总结)
2017/12/29 Python
修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法
2018/01/26 Python
python turtle库画一个方格和圆实例
2019/06/27 Python
python图形开发GUI库wxpython使用方法详解
2020/02/14 Python
tensorflow使用L2 regularization正则化修正overfitting过拟合方式
2020/05/22 Python
Python如何爬取b站热门视频并导入Excel
2020/08/10 Python
Pycharm2020最新激活码|永久激活(附最新激活码和插件的详细教程)
2020/09/29 Python
英国著名的小众美容品牌网站:Alyaka
2017/08/08 全球购物
Hotels.com加拿大:领先的在线住宿网站
2018/10/05 全球购物
大学生怎样进行自我评价
2013/12/07 职场文书
致跳高运动员加油稿
2014/02/12 职场文书
商务宴请邀请函范文
2015/02/02 职场文书
市级三好生竞选稿
2015/11/21 职场文书
基于Redission的分布式锁实战
2022/08/14 Redis