Linux下远程连接Jupyter+pyspark部署教程
作者:RayCchou 发布时间:2021-03-31 18:35:59
博主最近试在服务器上进行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
至此,所以配置全部完成。
来源:https://blog.csdn.net/RayCchou/article/details/51273117


猜你喜欢
- Python异步编程之Asyncio1. 协程简介1.1 协程的含义及实现方法协程(Coroutine),也可以被称为微线程,是一种用户态内
- 目录一、进程的创建1、一些常用方法介绍二、进程池的使用三、多进程和多线程的优缺点对比一、进程的创建Python的multiprocessin
- Supervisor 是一个类 unix 操作系统下的进程监控管理工具。安装 SupervisorSupervisor 是由 Python
- 要使用request对象的ServerVariables属性,通过它来获得环境变量的值。使用的语法为:Request.ServerVaria
- 本文实例讲述了JSP基本语句用法。分享给大家供大家参考。具体如下:1>JSP指令JSP指令(Directive)作用是与JSP引擎进行
- 一、准备工作:安装pywin32,后面开发需要pywin32的支持,否则无法完成与windows层面相关的操作。pywin32的具体安装及注
- (在lua中通过loadfile, setfenv实现)python当然也可以:cat config.pybar = 10foo=100ca
- 最近在做python的web开发(原谅我的多变,好东西总想都学着。。。node.js也是),不过过程中总遇到些问题,不管是web.py还是d
- 写在前面今天在用爬虫及Pandas更新股票日线数据的时候发现KeyError报错,后面跟了一个DataFrame列索引,一开始以为是索引修改
- 今天终于可以用wxPython开发GUI程序了,非常高兴。把其中的一些注意点写下来以供参考。在windows XP平台下,首先需要做以下环境
- 之前使用django+mysql建立的一个站点,发现向数据库中写入中文字符时总会报错,尝试了修改settings文件和更改数据表的字符集后仍
- 本文实例讲述了js实现类似iphone的网页滑屏解锁功能。分享给大家供大家参考,具体如下:iphone 的出现,打破了人们的用户体验,这一用
- 方便删除数据库中所有的数据表,清空数据库,有些有约束,不能直接delete,需要先删除库中的约束,代码如下 --删除所有约束 DECLARE
- @click @tap重叠事件区分点击remove事件会触发details事件,使用@click.stop官方介绍<ul>??
- JavaScript lastIndexOf 方法lastIndexOf 方法用于计算指定的字符串在整个字符串中最后一次出现的位置,并返回该
- 本文所依赖的环境为:进程和线程的概念进程概念我们想运行一个程序,首先会将该程序从存储介质上通过IO总线加载进内存中,而后再通过cpu进行调度
- 1.requiremwnts:Django版本:2.2python版本:3.6djangorestframework版本:3.1django
- 一、如何将列表数据写入文件 ⾸先,我们来看看下⾯这段代码,并思考:这段代码有没有问题,如果有问题的话,要怎么改?li = [
- 【错误原因】:mysql_query执行超时.【解决办法】:修改php.ini中的 max_execution_time的值,默认为300,
- 以前游戏2048火的时候,正好用其他的语言编写了一个,现在学习python,正好想起来,便决定用python写一个2048,由于没学过pyt