本地Jupyter notebook连接远程Linux服务器
Jupyter notebook是一种Web应用程序,当在拥有图形化界面的windows、Linux和Mac系统中,很容易安装使用。不过通常我们会将一些消耗性能的代码放到性能更强的Linux服务器中,通过本地机器来访问运行,这些Linux服务器没有图形化界面只能够通过命令来进行交互,如果想要在Linux服务器中直接使用Jupyter notebook是不可能的事情。不过我们可以将Jupyter notebook安装在Linux服务器中,然后通过本地的浏览器来访问Linux服务器中的Jupyter notebook。
1. 在Linux服务器上安装Anaconda
Jupyter notebook是Anaconda中的内嵌工具,所以如果需要使用Jupyter notebook首先要安装Anaconda。安装Anconda的方式有很多,这里使用最直观的方式,将Anconda下载到本地,然后通过XShell工具将Anaconda安装包上传到Linux服务器中,通过命令执行安装Anconda。Anaconda是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。Anaconda中已经集成了Jupyter Notebook,因此,可以首先安装Anaconda,然后再配置Jupyter Notebook。
1.1 下载Linux版本的Anaconda到本地
第一种下载方式:Anaconda清华大学镜像下载:清华镜像下载地址
到达清华大学镜像网站以后,找到安装文件Anaconda3-2020.02-Linux-x86_64.sh,下载到本地即可。
第二种下载方式:Anaconda官网下载:官网下载地址
访问该网址以后,呈现如下网页,点击页面底部的“Download”。
选择Linux版本的Anconda下载到本地计算机中。这里选择Python3.9版本,X86和Power8 and Power9表示不同的处理器架构,这里选择x86即可。
1.2 通过XShell上传安装包到Linux服务器
通过XShell将本地文件上传到Linux服务器中需要使用lrzsz小工具,默认Linux中是没有这个小工具的,因此要想使用XShell上传文件首先安装lrzsz。
1.3 安装Anaconda
执行脚本:
bash Anaconda3-2021.05-Linux-x86_64.sh
配置anaconda的环境变量:
$ vim /etc/profile
有些vim无法写入时,试试vi /etc/profile
增加如下配置 注意anaconda3 安装路径
export ANACONDA_HOME=/opt/module/anaconda3/bin
export PATH=$PATH:$ANACONDA_HOME/bin
重新加载环境变量:
$ source /etc/profile
修改bashrc文件
$ sudo vim ~/.bashrc
添加如下内容: 直接在第二行空行添加即可
export PATH=~/anaconda3/bin:$PATH
1.4 启动anaconda并测试
注意: 请将当前连接node1的节点窗口关闭,然后重新打开,否则无法识别
2. 本地访问Linux服务器上的jupyter notebook
2.1 配置jupyter notebook文件
一般而言,安装了Anaconda发行版时,已经自动为你安装了Jupyter Notebook的,但是也可能有例外,万一如果没有自动安装,那么就在Linux终端中输入以下这一条命令安装(一定要明确知道你机器上没有安装Jupyter Notebook再执行下面命令,如果你无法确定是否已经安装Jupyter Notebook,那么就暂时不要执行下面这条命令,等到后面遇到问题的时候再来执行):
$ conda install jupyter notebook
假设Anaconda中已经自动安装好了Jupyter Notebook。下面开始配置Jupyter Notebook,在终端中执行如下命令
$ jupyter notebook --generate-config
执行效果如下图所示。
然后,在终端中执行如下命令:
$ cd /opt/module/anaconda3/bin
$ ./python
执行效果如下图所示。
然后,在Python命令提示符(不是Linux Shell命令提示符)后面输入如下命令:
>>>from notebook.auth import passwd
>>>passwd()
执行效果如下图所示。
然后,在Python命令提示符后面输入“exit()”,退出Python。如下图所示:
下面开始配置文件。如果输入vi报错时, 可以换成vim试试.
在终端输入如下命令:
$ vi ~/.jupyter/jupyter_notebook_config.py
命令执行效果如下图所示:
$ cd /opt/module
$ mkdir jupyternotebook
2.2 运行jupyter notebook
Step 1: 下面开始运行Jupyter Notebook。
在终端输入如下命令:
$ jupyter notebook
执行命令后出现如下效果:
Step 2: SSH端口转发实现本地访问
需要将Linux服务器中的端口转发到本地,在本地机器中执行"ssh -N -f -L localhost:8888:localhost:8888 root@10.0.32.150",如果端口8888占用时,参考:怀疑端口被占用 注意:
- 如果本地机器是Windows,需要安装一些额外的软件使用SSH,比如OpenSSH;
参考:window安装openSSH服务 - 如果本地机器是Mac或者Linux,则默认安装SSH可以直接使用;
由于我的本地机器是Windows,因此使用cmd启动Windows的命令行,输入"ssh -N -f -L localhost:8888:localhost:8888 root@10.0.32.150",这里需要注意"root@10.0.32.150"中的root表示Linux服务器的用户名,而后面的10.0.32.150为Linux服务器的ip地址,如果想要访问自己的Linux服务器,只需要改成相对应的用户名和ip地址即可。
打开本地浏览器直接输入复制的完整地址即可访问Linux服务器中的jupyter notebook。登录进去以后的界面如下图所示,这时,Jupyter Notebook的工作目录(/opt/module/jupyternotebook)有如下文件。
新建一个文件夹,命名为PySparkCode用来以后存放python的代码.
参考:
[1] https://blog.csdn.net/tcltyan/article/details/115195893
[2] https://zhuanlan.zhihu.com/p/147904283
[3] https://blog.csdn.net/weixin_41601114/article/details/108052922?spm=1001.2101.3001.6650.6&utm_medium=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~default-6-108052922-blog-121537634.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~default-6-108052922-blog-121537634.pc_relevant_default&utm_relevant_index=11
[5] https://blog.csdn.net/Freedom_sky_/article/details/120546625
[6] http://dblab.xmu.edu.cn/blog/2575-2/
浙公网安备 33010602011771号